/*
Theme Name: Caldor 1996
Theme URI: https://caldor.com/
Author: Caldor Webmaster
Author URI: mailto:webmaster@caldor.com
Description: A FULLY GROOVY ## ULTIMATE ## retail homepage experience straight from 1996. Best viewed in Netscape Navigator 4.0 at 800x600. Brought to you by the Caldor Web Team (TM). NO FRAMES VERSION coming soon!!!
Version: 1.0
Requires at least: 5.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: caldor-1996
Tags: retro, geocities, woocommerce, full-site-experience, blinking, marquee
*/

/* ============================================================
   COLOR PALETTE (web safe, baby!)
   ============================================================ */
:root {
    /* Font system -- readable on screen, still period-appropriate */
    --caldor-font-body:    Verdana, "Lucida Grande", Tahoma, "Helvetica Neue", Arial, sans-serif;
    --caldor-font-head:    "Trebuchet MS", Verdana, "Lucida Grande", Tahoma, "Helvetica Neue", Arial, sans-serif;
    --caldor-font-display: "Impact", "Arial Black", "Helvetica Neue", Arial, sans-serif;
    --caldor-font-mono:    "Courier New", Courier, monospace;

    /* Caldor rainbow palette -- warm rust, brick, cocoa, cream */
    --caldor-rust:    #d9531e;
    --caldor-brick:   #a82914;
    --caldor-cocoa:   #5a3a28;
    --caldor-cream:   #f4e8d4;
    --caldor-sun:     #f0b542;

    /* 90s web-safe accents still in use */
    --bg-deep: #2a1810;
    --bg-tile: #f0b542;
    --neon-green: #00ff00;
    --hot-red: #d9531e;
    --sale-yellow: #f0b542;
    --link-blue: #1a3a8b;
    --visited-purple: #5a3a28;
    --chrome-light: #ffffff;
    --chrome-dark: #808080;
}

/* ============================================================
   GLOBAL RESET-ISH (we don't believe in resets here, it's 1996)
   ============================================================ */
html, body {
    margin: 0;
    padding: 0;
    font-family: "Times New Roman", Times, serif;
    font-size: 17px;
    line-height: 1.55;
    color: #1a1208;
    background-color: #2a1810;
    /* Tiled sand/linen texture: noise grain + warm sparkles */
    background-image:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch' seed='7'/><feColorMatrix values='0 0 0 0 0.85  0 0 0 0 0.66  0 0 0 0 0.42  0 0 0 0.22 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>"),
        radial-gradient(circle at 18% 22%, rgba(240,181,66,0.45) 0 1px, transparent 2px),
        radial-gradient(circle at 72% 78%, rgba(244,232,212,0.35) 0 1px, transparent 2px),
        radial-gradient(circle at 42% 88%, rgba(217,83,30,0.35) 0 1px, transparent 2px);
    background-size: 160px 160px, 140px 140px, 180px 180px, 220px 220px;
    background-attachment: fixed;
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'><polygon points='0,0 0,20 5,16 10,28 14,26 9,14 16,14' fill='black' stroke='white' stroke-width='1.5'/></svg>") 0 0, auto;
}

/* Mobile / touch perf -- the `fixed` background and animated SVGs tank scroll FPS on iOS */
@media (max-width: 900px) {
    html, body { background-attachment: scroll; }
    .caldor-page { box-shadow: 0 0 0 2px var(--caldor-cocoa); }
    body { cursor: auto; }
}
@media (max-width: 720px) {
    /* Slow / pause heavy animations to save battery + scroll FPS */
    hr.caldor-rainbow { animation: none; }
    .caldor-marquee span { animation-duration: 32s; }
    .caldor-onsale { animation: none; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
    }
}

/* ============================================================
   MAIN PAGE FRAME -- the classic centered table layout
   ============================================================ */
.caldor-page {
    position: relative;
    z-index: 1;
    width: min(1080px, 94vw);
    margin: 18px auto;
    background: var(--caldor-cream);
    border: 4px ridge var(--caldor-rust);
    box-shadow:
        0 0 0 2px var(--caldor-cocoa),
        0 0 24px 4px rgba(217, 83, 30, 0.5);
    padding: 0;
}
body.caldor-focused .caldor-page { width: min(1240px, 94vw); }

.caldor-page-inner {
    background-color: #fdfaf3;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='p'><feTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='2' stitchTiles='stitch' seed='5'/><feColorMatrix values='0 0 0 0 0.42  0 0 0 0 0.28  0 0 0 0 0.14  0 0 0 0.08 0'/></filter><rect width='220' height='220' filter='url(%23p)'/></svg>");
    background-repeat: repeat;
    border: 3px inset #b89866;
    margin: 6px;
    padding: 18px 22px 22px 22px;
}

.caldor-main p,
.caldor-main li,
.caldor-entry p,
.caldor-entry li,
.caldor-main { color: #111111; }

.caldor-main .caldor-entry,
.caldor-main article {
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 17px;
    line-height: 1.6;
    color: #111;
}

/* ============================================================
   HEADINGS -- Comic Sans because we have CULTURE
   ============================================================ */
h1, h2, h3, h4, h5, h6,
.caldor-headline {
    font-family: "Comic Sans MS", "Comic Sans", "Marker Felt", "Trebuchet MS", cursive, sans-serif;
    text-align: center;
    margin: 0.3em 0;
    line-height: 1.15;
}

h1, .caldor-h1 {
    font-size: 36px;
    color: var(--caldor-brick);
    text-shadow:
        2px 2px 0 var(--caldor-sun),
        3px 3px 0 var(--caldor-cocoa);
    letter-spacing: 1px;
}

h2 { font-size: 26px; color: var(--caldor-cocoa); text-shadow: 1px 1px 0 var(--caldor-sun); }
h3 { font-size: 20px; color: var(--caldor-brick); }
h4 { font-size: 18px; color: var(--caldor-rust); }
h5 { font-size: 16px; color: var(--caldor-cocoa); }
h6 { font-size: 14px; color: var(--caldor-cocoa); }

/* ============================================================
   TEXT, LINKS, RULES
   ============================================================ */
p { margin: 0.6em 0; line-height: 1.5; }

a:link    { color: var(--link-blue); text-decoration: underline; }
a:visited { color: var(--visited-purple); }
a:hover   { color: var(--hot-red); background: #ffff66; text-decoration: underline overline; }
a:active  { color: #00aa00; }

hr.caldor-rainbow {
    border: 0;
    height: 6px;
    margin: 14px 0;
    background: linear-gradient(90deg,
        #ff0000 0%, #ff8000 14%, #ffff00 28%, #00ff00 42%,
        #00ffff 57%, #0000ff 71%, #8000ff 85%, #ff00ff 100%);
    background-size: 200% 100%;
    animation: caldor-rainbow-shift 3s linear infinite;
    box-shadow: 0 0 4px rgba(255,255,255,0.7);
}
@keyframes caldor-rainbow-shift {
    from { background-position: 0% 0; }
    to   { background-position: 200% 0; }
}

hr.caldor-bevel {
    border: 0;
    height: 4px;
    background: #c0c0c0;
    border-top: 2px solid #fff;
    border-bottom: 2px solid #404040;
    margin: 12px 0;
}

/* ============================================================
   BLINK polyfill class -- because the <blink> tag was murdered
   ============================================================ */
.blink, blink {
    animation: caldor-blink 1s steps(2, start) infinite;
}
@keyframes caldor-blink { to { visibility: hidden; } }

/* ============================================================
   MARQUEE replacement (the <marquee> tag still works in some
   browsers but we polyfill with CSS for safety)
   ============================================================ */
.caldor-marquee {
    overflow: hidden;
    background: #000000;
    color: #ffff00;
    font-family: "Courier New", Courier, monospace;
    font-weight: bold;
    border: 2px inset #808080;
    padding: 4px 0;
    white-space: nowrap;
}
.caldor-marquee span {
    display: inline-block;
    padding-left: 100%;
    animation: caldor-marquee 22s linear infinite;
}
@keyframes caldor-marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-100%); }
}

/* ============================================================
   HEADER BANNER
   ============================================================ */
.caldor-banner {
    text-align: center;
    padding: 12px 6px 8px;
    background:
        linear-gradient(180deg, var(--caldor-cream) 0%, #ffffff 60%, var(--caldor-cream) 100%);
    border-bottom: 4px double var(--caldor-rust);
}
.caldor-banner .caldor-logo-link {
    display: inline-block;
    background: transparent !important;
    text-decoration: none !important;
    margin: 0 0 6px;
}
.caldor-banner .caldor-logo-link:hover { background: transparent !important; }
.caldor-banner .caldor-logo-img {
    display: block;
    margin: 0 auto;
    max-height: 140px;
    width: auto;
    height: auto;
    background: transparent;
}
.caldor-banner .caldor-logo {
    font-family: "Impact", "Arial Black", sans-serif;
    font-size: 56px;
    line-height: 1;
    letter-spacing: 2px;
    background: linear-gradient(180deg, var(--caldor-brick) 0%, var(--caldor-brick) 49%, var(--caldor-rust) 50%, var(--caldor-rust) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-stroke: 2px var(--caldor-cocoa);
    text-stroke: 2px var(--caldor-cocoa);
    text-shadow: 4px 4px 0 rgba(90, 58, 40, 0.4);
    display: inline-block;
    transform: skew(-6deg, 0);
}
.caldor-banner .caldor-tagline {
    font-family: "Comic Sans MS", cursive;
    font-size: 18px;
    color: var(--caldor-brick);
    margin: 2px 0 6px;
}
.caldor-banner .caldor-flags {
    margin-top: 4px;
    font-size: 12px;
    color: var(--caldor-cocoa);
}

/* ============================================================
   TOP NAV BAR (chrome buttons)
   ============================================================ */
.caldor-nav {
    background: var(--caldor-cocoa);
    padding: 6px 4px;
    text-align: center;
    border-top: 2px solid var(--caldor-cream);
    border-bottom: 2px solid #2a1810;
}
.caldor-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline;
}
.caldor-nav li { display: inline; }
.caldor-nav a {
    display: inline-block;
    margin: 2px 3px;
    padding: 4px 10px;
    background: linear-gradient(180deg, var(--caldor-cream), #e8d4b0 50%, #b89866);
    color: var(--caldor-cocoa) !important;
    font-family: "Arial Black", Impact, sans-serif;
    font-size: 13px;
    text-decoration: none !important;
    border: 2px outset var(--caldor-cream);
    text-transform: uppercase;
    letter-spacing: 1px;
}
.caldor-nav a:hover {
    background: linear-gradient(180deg, var(--caldor-sun), var(--caldor-rust) 50%, var(--caldor-brick));
    color: #ffffff !important;
    border-style: inset;
}

/* ============================================================
   SIDEBAR + CONTENT LAYOUT (table style)
   ============================================================ */
.caldor-layout {
    display: table;
    width: 100%;
    border-collapse: separate;
    border-spacing: 6px;
    margin-top: 8px;
}
.caldor-layout > .caldor-side,
.caldor-layout > .caldor-main {
    display: table-cell;
    vertical-align: top;
    background: var(--caldor-cream);
    border: 2px ridge #b89866;
    padding: 8px;
}
.caldor-layout > .caldor-side { width: 180px; font-size: 13px; }
.caldor-layout > .caldor-main { background: #ffffff; }

/* Focused (cart / checkout / account) -- no sidebar, full width main */
.caldor-layout--focused {
    display: block !important;
    width: 100% !important;
    border-spacing: 0;
    box-sizing: border-box;
}
.caldor-layout--focused > .caldor-main {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box;
    padding: 16px 18px 20px;
    border-width: 2px;
}
/* Belt + suspenders: nothing inside the page frame may overflow the inner box. */
.caldor-page-inner,
.caldor-layout,
.caldor-main,
.caldor-side { box-sizing: border-box; }
.caldor-page-inner { overflow-x: clip; }

@media (max-width: 720px) {
    .caldor-layout {
        display: flex !important;
        flex-direction: column !important;
        width: auto !important;
    }
    .caldor-layout > .caldor-side,
    .caldor-layout > .caldor-main {
        display: block;
        width: auto !important;
    }
    /* Reorder: main shop content first, sidebar dashboard second. */
    .caldor-layout > .caldor-main { order: 0; }
    .caldor-layout > .caldor-side { order: 1; }
    /* Hide the duplicate visitor counter rendered inside the footer
       copyright paragraph -- the sidebar widget already shows it. */
    .caldor-footer .caldor-counter { display: none !important; }
    .caldor-footer p:has(> .caldor-counter) { display: none !important; }
    /* On mobile, the sidebar moves BELOW the main content. We hide the
       Aisle Directory (the top nav covers those links), keep the gimmick
       widgets, and lay them out as a 2-column dashboard. */
    .caldor-side {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin: 18px 0 8px !important;
        padding: 12px !important;
        background: var(--caldor-cream) !important;
        border: 3px ridge var(--caldor-rust) !important;
        box-sizing: border-box;
    }
    .caldor-side > h3:first-of-type,
    .caldor-side > ul:first-of-type,
    .caldor-side > hr.caldor-bevel { display: none !important; }
    .caldor-side > .caldor-side-block { margin: 0 !important; }
    .caldor-side > .caldor-dnc,
    .caldor-side > .caldor-construction { grid-column: 1 / -1; }
    /* Slightly tighten the widget innards so they fit two-up cleanly */
    .caldor-side .caldor-side-counter h3,
    .caldor-side .caldor-y2k30 h3 {
        font-size: 13px !important;
        margin: -8px -8px 4px -8px !important;
        padding: 3px !important;
    }
    .caldor-side .caldor-counter {
        font-size: 14px;
        padding: 2px 4px;
    }
    .caldor-side .caldor-counter .digit {
        width: 10px;
        font-size: 13px;
    }
    .caldor-side .caldor-y2k30-num { min-width: 22px !important; font-size: 12px !important; }
    .caldor-side .caldor-y2k30-num[data-unit="d"] { min-width: 36px !important; }
    .caldor-side .caldor-y2k30-lbl { font-size: 8px !important; }
    .caldor-side-counter, .caldor-side-block.caldor-y2k30 {
        padding: 10px 8px;
        background: #ffffcc;
        border: 2px ridge #b89866;
        box-sizing: border-box;
    }
    /* Tighten the banner: smaller logo, hide blink+timestamp, smaller tagline. */
    .caldor-banner { padding: 6px 4px 4px !important; border-bottom-width: 3px !important; }
    .caldor-banner .caldor-logo-img { max-height: 80px !important; }
    .caldor-banner .caldor-tagline { font-size: 14px !important; margin: 0 !important; }
    .caldor-banner .caldor-flags .blink { display: none !important; }
    .caldor-banner .caldor-flags { font-size: 10px !important; margin-top: 2px !important; }
    /* Top-nav: 3x2 grid on mobile so the 6 buttons align cleanly. */
    .caldor-nav { padding: 6px !important; }
    .caldor-nav ul,
    .caldor-nav .caldor-nav-menu,
    .caldor-nav .menu {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 5px !important;
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .caldor-nav li,
    .caldor-nav .menu-item {
        display: block !important;
        margin: 0 !important;
    }
    .caldor-nav a {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        font-size: 11px !important;
        padding: 8px 4px !important;
        margin: 0 !important;
        letter-spacing: 0.5px !important;
        text-align: center;
    }
    /* Marquee: smaller height + faster scroll. */
    .caldor-marquee { font-size: 11px !important; padding: 2px 0 !important; border-width: 1px !important; }
    /* Tighter page-inner padding so content gets more room. */
    .caldor-page-inner { margin: 4px !important; padding: 8px 10px 12px !important; }
    /* Page frame shadow off on mobile -- looks heavy. */
    .caldor-page { box-shadow: 0 0 0 2px var(--caldor-cocoa) !important; }
}
@media (max-width: 480px) {
    /* Even more compressed on phones */
    .caldor-banner .caldor-logo-img { max-height: 64px !important; }
    .caldor-banner .caldor-tagline { font-size: 13px !important; }
    .caldor-banner .caldor-flags { display: none !important; }
    .caldor-nav a { font-size: 10px !important; padding: 7px 4px !important; }
    h1, .caldor-h1 { font-size: 26px !important; }
    h2 { font-size: 21px !important; }
    .caldor-product-desc, .caldor-why-picked { padding: 14px 14px !important; margin: 14px 0 !important; }
}

.caldor-side h3 {
    font-size: 16px;
    background: #000080;
    color: #ffff00 !important;
    margin: -8px -8px 6px -8px;
    padding: 4px;
    text-shadow: none;
}
.caldor-side ul { padding-left: 18px; margin: 4px 0; }
.caldor-side li { margin: 3px 0; }

/* ============================================================
   PRODUCT GRID -- the Sunday circular look
   ============================================================ */
.caldor-circular {
    width: 100%;
    border-collapse: separate;
    border-spacing: 4px;
    margin: 10px 0;
}
.caldor-circular td, .caldor-product-card {
    background: #ffffff;
    border: 3px ridge #ffcc00;
    padding: 8px;
    text-align: center;
    vertical-align: top;
    width: 33.33%;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
}
.caldor-product-card .caldor-product-title {
    font-family: "Comic Sans MS", cursive;
    font-size: 15px;
    color: #aa0000;
    font-weight: bold;
    display: block;
    margin: 4px 0;
}
.caldor-product-card img {
    max-width: 100%;
    height: auto;
    border: 2px solid #000;
    background: #fff;
}
.caldor-price {
    font-family: "Impact", "Arial Black", sans-serif;
    font-size: 22px;
    color: #ff0000;
    text-shadow: 1px 1px 0 #ffff00, 2px 2px 0 #000;
    display: inline-block;
    margin-top: 4px;
}
.caldor-price-old {
    color: #888;
    text-decoration: line-through;
    font-size: 14px;
    font-family: Arial, sans-serif;
    margin-right: 4px;
}
.caldor-onsale {
    display: inline-block;
    padding: 2px 6px;
    background: #ffff00;
    color: #ff0000;
    font-family: "Impact", sans-serif;
    font-size: 14px;
    border: 2px solid #ff0000;
    transform: rotate(-8deg);
    animation: caldor-wobble 1.4s ease-in-out infinite;
}
@keyframes caldor-wobble {
    0%, 100% { transform: rotate(-8deg) scale(1); }
    50%      { transform: rotate(-4deg) scale(1.08); }
}

/* ============================================================
   BUTTONS (3D bevel)
   ============================================================ */
.button, button, input[type=submit], input[type=button], .caldor-button,
.wp-block-button__link, .woocommerce a.button, .woocommerce button.button,
.woocommerce .button {
    display: inline-block !important;
    font-family: "Arial Black", Impact, sans-serif !important;
    font-size: 14px !important;
    color: #000080 !important;
    background: linear-gradient(180deg, #ffffff, #c0c0c0 55%, #808080) !important;
    border: 3px outset #ffffff !important;
    padding: 5px 14px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.button:hover, button:hover, input[type=submit]:hover, .caldor-button:hover,
.wp-block-button__link:hover, .woocommerce a.button:hover, .woocommerce button.button:hover {
    background: linear-gradient(180deg, #ffff00, #ff8000 55%, #aa0000) !important;
    color: #fff !important;
}
.button:active, button:active, input[type=submit]:active {
    border-style: inset !important;
}

/* ============================================================
   FORMS
   ============================================================ */
input[type=text], input[type=email], input[type=password], input[type=tel],
input[type=number], input[type=search], input[type=url], select, textarea {
    font-family: "Courier New", Courier, monospace !important;
    font-size: 14px !important;
    border: 2px inset #808080 !important;
    background: #ffffff !important;
    padding: 3px 5px !important;
    border-radius: 0 !important;
}

/* ============================================================
   GUESTBOOK / EMAIL / VISITOR COUNTER widgets
   ============================================================ */
.caldor-counter {
    display: inline-block;
    position: relative;
    background: #000;
    color: #00ff00;
    font-family: "Courier New", monospace;
    font-weight: bold;
    font-size: 16px;
    padding: 3px 5px;
    border: 3px ridge #444;
    letter-spacing: 0;
    white-space: nowrap;
    max-width: 100%;
}
.caldor-counter .digit {
    display: inline-block;
    width: 12px;
    text-align: center;
    background: linear-gradient(180deg, #003300, #001100);
    border: 1px solid #006600;
    margin: 0;
    padding: 0 1px;
    line-height: 1.2;
    box-sizing: content-box;
}

/* ============================================================
   Y2K30 COUNTDOWN -- LCD-style clock in the sidebar
   ============================================================ */
.caldor-y2k30 {
    text-align: center;
}
.caldor-y2k30-clock {
    display: flex;
    justify-content: center;
    gap: 4px;
    margin: 4px 0 0;
    background: #000;
    padding: 6px 4px;
    border: 3px ridge #444;
}
.caldor-y2k30-cell {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 1px;
}
.caldor-y2k30-num {
    display: block;
    min-width: 24px;
    padding: 2px 3px;
    background: linear-gradient(180deg, #003300, #001100);
    border: 1px solid #006600;
    color: #00ff00;
    font-family: "Courier New", monospace;
    font-weight: bold;
    font-size: 14px;
    line-height: 1.1;
    text-shadow: 0 0 4px rgba(0,255,0,0.65);
    letter-spacing: 1px;
}
.caldor-y2k30-num[data-unit="d"] { min-width: 46px; }
.caldor-y2k30-lbl {
    color: var(--caldor-sun);
    font-family: Arial, sans-serif;
    font-size: 9px;
    font-weight: bold;
    letter-spacing: 0.5px;
    line-height: 1;
}

.caldor-best-viewed,
.caldor-award,
.caldor-webring-badge {
    display: inline-block;
    margin: 3px;
    padding: 4px 6px;
    background: linear-gradient(180deg, #000080, #4040c0);
    color: #ffff00 !important;
    font-family: Arial, sans-serif;
    font-size: 10px;
    font-weight: bold;
    border: 2px outset #8080ff;
    text-decoration: none !important;
    text-transform: uppercase;
    line-height: 1.2;
    text-align: center;
    vertical-align: middle;
}
.caldor-award { background: linear-gradient(180deg, #aa0000, #ff8000); color: #ffff00 !important; }
.caldor-webring-badge { background: linear-gradient(180deg, #006600, #00aa00); }

/* ============================================================
   "UNDER CONSTRUCTION" -- simple caution sign (no SVG worker)
   ============================================================ */
.caldor-construction {
    margin: 12px 0;
    padding: 8px 6px 6px;
    border: 3px ridge var(--caldor-rust);
    background: #1a1208;
    text-align: center;
    box-sizing: border-box;
}
.caldor-construction-sign {
    display: block;
    margin: 0 auto;
    padding: 10px 8px;
    background: var(--caldor-sun);
    color: #1a1208;
    border: 3px solid #000;
    /* Diamond caution-sign shape via rotated square inside square via clip-path */
    font-family: "Impact", "Arial Black", sans-serif;
    text-shadow: 1px 1px 0 rgba(255,255,255,0.4);
    line-height: 1;
}
.caldor-construction-sign .caldor-construction-bang {
    display: block;
    font-size: 36px;
    line-height: 1;
    color: #1a1208;
    margin: 0 0 4px;
}
.caldor-construction-sign .caldor-construction-text {
    display: block;
    font-size: 14px;
    letter-spacing: 1px;
}
.caldor-construction-meta {
    margin: 6px 0 0;
    font-family: "Courier New", Courier, monospace;
    font-size: 10px;
    color: var(--caldor-sun);
    letter-spacing: 0.5px;
}

/* ============================================================
   FOOTER
   ============================================================ */
.caldor-footer {
    margin-top: 14px;
    padding: 12px 6px;
    background: linear-gradient(180deg, #c0c0c0, #909090);
    border-top: 4px double #000080;
    text-align: center;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000;
}
.caldor-footer .caldor-webring {
    margin: 8px 0;
}
.caldor-footer .caldor-email-link img,
.caldor-footer .caldor-email-link svg {
    vertical-align: middle;
}
.caldor-footer p { margin: 4px 0; }

/* Footer menu -- inline links separated by pipes, no bullets */
.caldor-footer .caldor-footer-menu {
    margin: 8px 0;
    padding: 0;
    list-style: none !important;
}
.caldor-footer .caldor-footer-menu ul,
.caldor-footer ul.caldor-footer-menu,
.caldor-footer .menu {
    list-style: none !important;
    margin: 8px 0;
    padding: 0;
    text-align: center;
    display: inline-block;
}
.caldor-footer .caldor-footer-menu li,
.caldor-footer .caldor-footer-menu .menu-item,
.caldor-footer ul.menu li {
    display: inline !important;
    list-style: none !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.caldor-footer .caldor-footer-menu li::before,
.caldor-footer .caldor-footer-menu .menu-item::before,
.caldor-footer ul.menu li::before { content: none !important; display: none !important; }
.caldor-footer .caldor-footer-menu li + li::after,
.caldor-footer .caldor-footer-menu .menu-item + .menu-item::after { content: ""; }
.caldor-footer .caldor-footer-menu li:not(:last-child) a::after,
.caldor-footer .caldor-footer-menu .menu-item:not(:last-child) a::after {
    content: " | ";
    color: var(--caldor-cocoa);
    margin: 0 2px;
}
.caldor-footer .caldor-footer-menu a {
    display: inline !important;
    padding: 0 !important;
    text-decoration: underline;
    color: var(--caldor-cocoa) !important;
}
.caldor-footer-stamp {
    font-family: "Courier New", Courier, monospace !important;
    font-size: 11px;
    color: var(--caldor-cocoa);
    margin-top: 8px !important;
    opacity: 0.85;
}
.caldor-footer-disclaimer {
    max-width: 640px;
    margin: 14px auto 6px !important;
    padding: 8px 12px;
    background: var(--caldor-cream);
    border: 1px solid var(--caldor-rust);
    font-size: 11px !important;
    line-height: 1.5;
    color: var(--caldor-cocoa);
    text-align: center;
}
.caldor-footer-disclaimer strong { color: var(--caldor-brick); }
.caldor-footer-disclaimer a { color: var(--caldor-brick); }

/* ============================================================
   GIF substitutes (inline SVG sized utilities)
   ============================================================ */
.caldor-gif-sm  { width: 48px;  height: 48px;  display: inline-block; vertical-align: middle; }
.caldor-gif-md  { width: 88px;  height: 32px;  display: inline-block; vertical-align: middle; }
.caldor-gif-lg  { width: 200px; height: 64px;  display: inline-block; vertical-align: middle; }
.caldor-gif-banner { width: 468px; max-width: 100%; height: 60px; display: inline-block; }

/* ============================================================
   WOOCOMMERCE OVERRIDES -- keep cart/checkout USABLE
   ============================================================ */
.woocommerce { font-family: Arial, Helvetica, sans-serif; }

.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px !important;
    list-style: none;
    padding: 0;
    margin: 14px 0 !important;
}
/* Kill WooCommerce's clearfix pseudo-elements -- in grid layout they become
   phantom grid items that eat the first/last cell. */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
    content: none !important;
    display: none !important;
}
@media (max-width: 720px) { .woocommerce ul.products { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .woocommerce ul.products { grid-template-columns: 1fr; } }

/* Hide stray third-party widgets that don't fit a 1996 aesthetic */
#crisp-chatbox,
.crisp-client,
iframe[name^="crisp-"],
.cgkit-sticky-atc,
.cgkit-order-bump,
.cgkit-drawer,
.commercekit-ajax-search,
.commercekit-search-form { display: none !important; }

.woocommerce ul.products li.product {
    background: #ffffff !important;
    border: 3px ridge #ffcc00 !important;
    padding: 8px !important;
    text-align: center !important;
    margin: 0 !important;
    width: auto !important;
    float: none !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: "Comic Sans MS", cursive !important;
    color: #aa0000 !important;
    font-size: 15px !important;
    padding: 4px 0 !important;
}
.woocommerce ul.products li.product .price {
    font-family: "Impact", "Arial Black", sans-serif !important;
    color: #ff0000 !important;
    font-size: 20px !important;
    text-shadow: 1px 1px 0 #ffff00, 2px 2px 0 #000 !important;
}
/* Sale starburst -- jagged 20-point star, blinks like a 1996 GIF */
.woocommerce span.onsale,
.caldor-onsale {
    background: radial-gradient(circle, #ffeb3b 0%, #ff6000 70%) !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 0 !important;
    width: 64px !important;
    height: 64px !important;
    line-height: 64px !important;
    min-width: 64px !important;
    min-height: 64px !important;
    padding: 0 !important;
    font-family: "Impact", "Arial Black", sans-serif !important;
    font-size: 14px !important;
    text-align: center !important;
    text-shadow: 1px 1px 0 #000, 0 0 6px rgba(0,0,0,0.6) !important;
    text-transform: uppercase;
    box-sizing: border-box;
    clip-path: polygon(
        50%   0%, 61% 14%, 76%  6%, 73% 24%, 92% 18%, 84% 35%,
        100% 38%, 86% 50%, 100% 62%, 84% 65%, 92% 82%, 73% 76%,
        76%  94%, 61% 86%, 50% 100%, 39% 86%, 24% 94%, 27% 76%,
         8%  82%, 16% 65%,  0% 62%, 14% 50%,  0% 38%, 16% 35%,
         8%  18%, 27% 24%, 24%  6%, 39% 14%
    );
    transform: none !important;
    animation: caldor-sale-flip 4s ease-in-out infinite;
}
.woocommerce span.onsale::before, .caldor-onsale::before { content: ""; }
@keyframes caldor-sale-flip {
    0%, 45% {
        background: radial-gradient(circle, #ffeb3b 0%, #ff6000 70%);
        transform: rotate(0);
    }
    50%, 95% {
        background: radial-gradient(circle, #d4ff88 0%, #2e8b3e 70%);
        transform: rotate(-4deg);
    }
    100% {
        background: radial-gradient(circle, #ffeb3b 0%, #ff6000 70%);
        transform: rotate(0);
    }
}

.woocommerce table.shop_table,
.woocommerce-cart table.cart,
.woocommerce-checkout table {
    border: 2px ridge #888 !important;
    background: #ffffee !important;
    border-radius: 0 !important;
}
.woocommerce table.shop_table th {
    background: #000080 !important;
    color: #ffff00 !important;
    font-family: "Comic Sans MS", cursive !important;
    border: 1px solid #000 !important;
}
.woocommerce table.shop_table td { border: 1px solid #aaa !important; }

.woocommerce-message, .woocommerce-info, .woocommerce-error,
.wc-block-components-notice-banner,
.wp-block-woocommerce-store-notices {
    background: var(--caldor-cream) !important;
    border: 3px ridge var(--caldor-rust) !important;
    color: #1a1208 !important;
    font-family: var(--caldor-font-head) !important;
    font-weight: bold !important;
    border-radius: 0 !important;
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before {
    color: var(--caldor-brick) !important;
}
.woocommerce-message a, .woocommerce-info a, .woocommerce-error a,
.wc-block-components-notice-banner a {
    color: var(--caldor-brick) !important;
    font-family: var(--caldor-font-head) !important;
    text-decoration: underline !important;
}

.woocommerce-checkout #payment {
    background: #ffffcc !important;
    border: 3px ridge #aaaaaa !important;
    border-radius: 0 !important;
}

.woocommerce div.product div.images img {
    border: 3px ridge #ffcc00 !important;
    border-radius: 0 !important;
    background: #fff;
}
.woocommerce div.product .product_title {
    font-family: "Comic Sans MS", cursive !important;
    color: #aa0000 !important;
    text-shadow: 1px 1px 0 #ffff00 !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-family: "Impact", "Arial Black", sans-serif !important;
    color: #ff0000 !important;
    text-shadow: 1px 1px 0 #ffff00, 2px 2px 0 #000 !important;
}

/* ============================================================
   WOOCOMMERCE BLOCKS CART / CHECKOUT (modern block-based templates)
   ============================================================ */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
    font-family: Arial, Helvetica, sans-serif;
    color: #1a1208;
}
.wc-block-cart, .wc-block-checkout { background: transparent; }

/* Single product page: hide meta row (SKU/Category/Brand) and the tabs --
   we render the description inline below instead. */
.woocommerce div.product .product_meta,
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .wc-tabs-wrapper,
.woocommerce div.product .wc-tabs,
.woocommerce div.product #tab-description,
.woocommerce div.product #tab-additional_information {
    display: none !important;
}
/* Both Why We Picked and About This Product need to clear the floated
   gallery + summary so they sit BELOW the product image, not overlapping it. */
.caldor-product-desc,
.caldor-why-picked {
    clear: both !important;
    float: none !important;
    width: 100% !important;
    position: relative;
}
.caldor-product-desc {
    margin: 32px 0 24px;
    padding: 26px 30px;
    background: #ffffff;
    border: 3px ridge var(--caldor-rust);
    box-sizing: border-box;
}
.caldor-product-desc h2 {
    margin-bottom: 16px !important;
}
.caldor-product-desc .caldor-product-desc-body {
    font-family: Georgia, "Times New Roman", Times, serif;
    color: #1a1208;
    font-size: 16px;
    line-height: 1.75;
}
.caldor-product-desc .caldor-product-desc-body > * + * { margin-top: 14px; }
.caldor-product-desc .caldor-product-desc-body img { max-width: 100%; height: auto; }

/* The blocks-cart "page title" rendered by WP -- soften to match retro h1 */
.wp-block-woocommerce-cart .wc-block-components-title,
.wp-block-woocommerce-checkout .wc-block-components-title {
    font-family: "Comic Sans MS", cursive !important;
    color: var(--caldor-brick) !important;
    text-shadow: 1px 1px 0 var(--caldor-sun);
}

/* Cart items table -- one outer frame, no inner cell ridges */
.wc-block-cart-items {
    background: #ffffff !important;
    border: 1px solid rgba(168, 41, 20, 0.35) !important;
    border-radius: 0 !important;
    padding: 0 !important;
}
.wc-block-cart-items__row {
    background: #ffffff;
    border-bottom: 1px solid rgba(168, 41, 20, 0.20) !important;
    padding: 18px 8px !important;
}
.wc-block-cart-items__row:last-child { border-bottom: 0 !important; }
.wc-block-cart-items__row > td,
.wc-block-cart-items__row > th { padding: 14px 10px !important; vertical-align: top; }
.wc-block-cart-item__image { padding-right: 14px !important; }
.wc-block-cart-item__product { padding: 4px 8px !important; }
.wc-block-cart-item__total { padding: 4px 8px !important; text-align: right; }
.wc-block-cart-item__quantity { margin-top: 10px !important; }
.wc-block-cart-item__remove-link { margin-top: 8px !important; display: inline-block !important; }
/* Save badge gets a little breathing room */
.wc-block-cart-item__sale-badge,
.wc-block-components-sale-badge {
    margin-top: 4px;
    display: inline-block;
    padding: 3px 8px !important;
    background: var(--caldor-sun) !important;
    color: var(--caldor-brick) !important;
    border: 2px solid var(--caldor-brick) !important;
    border-radius: 0 !important;
    font-family: "Impact", "Arial Black", sans-serif !important;
    font-size: 12px !important;
}
.wc-block-cart-item__image img,
.wc-block-components-product-image img {
    border: 2px solid var(--caldor-cocoa) !important;
    border-radius: 0 !important;
    background: #fff;
}
.wc-block-components-product-name {
    font-family: "Comic Sans MS", cursive !important;
    color: var(--caldor-brick) !important;
    font-size: 16px !important;
    text-decoration: none !important;
}
.wc-block-cart-item__total-price-and-sale-badge-wrapper,
.wc-block-cart-item__total-price,
.wc-block-components-product-price {
    font-family: "Impact", "Arial Black", sans-serif !important;
    color: var(--caldor-brick) !important;
    text-shadow: 1px 1px 0 var(--caldor-sun);
}

/* Quantity controls -- explicit flex layout with sized buttons so the
   minus/plus stay visible (don't clip). */
.wc-block-components-quantity-selector,
.wc-block-cart-item__quantity .wc-block-components-quantity-selector {
    display: inline-flex !important;
    align-items: stretch !important;
    border: 1px solid var(--caldor-cocoa) !important;
    background: #fff !important;
    border-radius: 0 !important;
    overflow: visible !important;
    height: 32px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}
.wc-block-components-quantity-selector__button {
    flex: 0 0 auto !important;
    width: 32px !important;
    height: 30px !important;
    position: static !important;
    background: var(--caldor-cream) !important;
    color: var(--caldor-cocoa) !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-family: Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: bold !important;
    padding: 0 !important;
    margin: 0 !important;
    text-shadow: none !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}
.wc-block-components-quantity-selector__button--minus { border-right: 1px solid var(--caldor-cocoa) !important; }
.wc-block-components-quantity-selector__button--plus  { border-left:  1px solid var(--caldor-cocoa) !important; }
.wc-block-components-quantity-selector__button:hover {
    background: var(--caldor-sun) !important;
}
.wc-block-components-quantity-selector__input {
    flex: 0 0 auto !important;
    width: 44px !important;
    height: 30px !important;
    font-family: "Courier New", monospace !important;
    font-weight: bold !important;
    font-size: 14px !important;
    border: 0 !important;
    background: #ffffff !important;
    color: #2a1810 !important;
    padding: 0 4px !important;
    text-align: center !important;
    margin: 0 !important;
}

/* The trash / remove "X" -- make it a clear text link, not a chrome icon */
.wc-block-cart-item__remove-link,
.wc-block-components-product-metadata__description + .wc-block-cart-item__remove-link {
    background: transparent !important;
    border: 0 !important;
    color: var(--caldor-brick) !important;
    font-family: Arial, sans-serif !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    text-decoration: underline !important;
    padding: 2px 0 !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
}
.wc-block-cart-item__remove-link:hover {
    background: var(--caldor-sun) !important;
    color: var(--caldor-brick) !important;
}
.wc-block-cart-item__remove-link::before {
    content: "remove";
}
.wc-block-cart-item__remove-link > * { display: none !important; }

/* Cart totals + sidebar -- one soft outer frame, no nested cells */
.wc-block-cart__sidebar,
.wc-block-components-totals-wrapper {
    background: var(--caldor-cream) !important;
    border: 1px solid rgba(168, 41, 20, 0.4) !important;
    border-radius: 0 !important;
    padding: 14px 16px !important;
}
.wc-block-components-totals-item__value,
.wc-block-formatted-money-amount {
    font-family: "Impact", "Arial Black", sans-serif !important;
    color: var(--caldor-brick) !important;
}

/* The big checkout button */
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button {
    background: linear-gradient(180deg, var(--caldor-sun), var(--caldor-rust) 55%, var(--caldor-brick)) !important;
    color: #ffffff !important;
    border: 3px outset var(--caldor-sun) !important;
    border-radius: 0 !important;
    font-family: "Impact", "Arial Black", sans-serif !important;
    font-size: 18px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    text-shadow: 1px 1px 0 var(--caldor-cocoa) !important;
    padding: 8px 16px !important;
}
.wc-block-components-checkout-place-order-button:hover {
    border-style: inset !important;
}

/* Inner totals rows -- no per-row borders, just airy spacing.
   Keep ONE outer frame (the sidebar) and let each row breathe. */
.wc-block-components-sidebar-layout .wc-block-cart__sidebar > div {
    border: 0 !important;
    background: transparent !important;
    padding: 8px 4px !important;
    border-bottom: 1px dashed rgba(168, 41, 20, 0.25) !important;
    border-radius: 0 !important;
}
.wc-block-components-sidebar-layout .wc-block-cart__sidebar > div:last-child {
    border-bottom: 0 !important;
}
.wc-block-components-panel {
    border: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
}

/* Checkout form fields -- give the floating label room to live above the
   input rather than overlapping the typed value. */
.wc-block-components-text-input {
    position: relative !important;
    padding-top: 18px !important;
}
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-checkbox__input {
    border-radius: 0 !important;
    border: 2px inset var(--caldor-cocoa) !important;
    font-family: "Courier New", monospace !important;
    background: #fff !important;
    padding: 8px 10px !important;
    height: auto !important;
    line-height: 1.3 !important;
}
.wc-block-components-text-input label,
.wc-block-components-text-input__label {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
    font-family: var(--caldor-font-head) !important;
    font-size: 12px !important;
    font-weight: bold !important;
    color: var(--caldor-cocoa) !important;
    background: transparent !important;
    padding: 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    pointer-events: none;
}

/* Hard containment: blocks-checkout / blocks-cart sidebar layout has internal
   widths that overflow narrower parents. Clamp everything to the main column. */
.caldor-main,
.caldor-layout--focused > .caldor-main {
    overflow-x: clip;
    min-width: 0;
}
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart,
.wc-block-checkout,
.wc-block-cart,
.wc-block-components-sidebar-layout,
.wc-block-components-main,
.wc-block-components-sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar,
.wc-block-cart__main,
.wc-block-cart__sidebar {
    max-width: 100% !important;
    width: auto !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}
.wp-block-woocommerce-checkout > form,
.wp-block-woocommerce-cart > form {
    max-width: 100% !important;
    min-width: 0 !important;
}
.wc-block-components-sidebar-layout {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px;
}
.wc-block-components-sidebar-layout > .wc-block-components-main,
.wc-block-components-sidebar-layout > .wc-block-checkout__main,
.wc-block-components-sidebar-layout > .wc-block-cart__main {
    flex: 1 1 460px;
    min-width: 0 !important;
}
.wc-block-components-sidebar-layout > .wc-block-components-sidebar,
.wc-block-components-sidebar-layout > .wc-block-checkout__sidebar,
.wc-block-components-sidebar-layout > .wc-block-cart__sidebar {
    flex: 0 1 360px;
    min-width: 0 !important;
}
/* On narrow viewports, stack instead of overflowing */
@media (max-width: 880px) {
    .wc-block-components-sidebar-layout > .wc-block-components-main,
    .wc-block-components-sidebar-layout > .wc-block-checkout__main,
    .wc-block-components-sidebar-layout > .wc-block-cart__main,
    .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
    .wc-block-components-sidebar-layout > .wc-block-checkout__sidebar,
    .wc-block-components-sidebar-layout > .wc-block-cart__sidebar {
        flex: 1 1 100%;
    }
}
/* Tables inside the cart shouldn't expand past the column either */
.wc-block-cart-items,
table.wc-block-cart-items {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto;
}

/* ============================================================
   NUKE ALL X / CLOSE / TRASH ICONS in WooCommerce + plugins
   ============================================================ */
/* Cart item remove button -- show plain "remove" text, no icon */
.wc-block-cart-item__remove-link,
button.wc-block-cart-item__remove-link {
    background: transparent !important;
    border: 0 !important;
    color: var(--caldor-brick) !important;
    font-family: Arial, sans-serif !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    text-decoration: underline !important;
    padding: 2px 0 !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
    width: auto !important;
    min-width: 80px !important;
    height: auto !important;
    line-height: 1.4 !important;
    overflow: visible !important;
    font-size-adjust: none !important;
}
.wc-block-cart-item__remove-link::before {
    content: "Remove";
    display: inline !important;
}
/* Hide every child element of the remove button (SVG icons, screen-reader spans, etc.) */
.wc-block-cart-item__remove-link svg,
.wc-block-cart-item__remove-link img,
.wc-block-cart-item__remove-link span,
.wc-block-cart-item__remove-link path { display: none !important; }

/* Nuke any rendered search forms / inputs */
form.search-form,
form[role="search"],
.wp-block-search,
.search-form,
input[type="search"]:not(.wc-block-components-text-input input):not(.cgkit-as-search),
.wc-block-product-search,
.commercekit-search-form,
.commercekit-ajax-search-form { display: none !important; }

/* FlyingPress lazy-load skeleton on product gallery -- never show stripes on
   product images since we removed gallery zoom. */
.flying-press-skeleton,
.fp-skeleton,
.wc-block-components-loading-mask {
    background: #ffffff !important;
    background-image: none !important;
    animation: none !important;
}
.woocommerce-product-gallery img,
.woocommerce-product-gallery__image img {
    transition: none !important;
    transform: none !important;
}
/* Re-enforce: no zoom magnifier or trigger overlays remain */
.zoomImg,
.woocommerce-product-gallery__trigger { display: none !important; }

/* Cart shop_table classic remove */
.woocommerce-cart .product-remove a.remove,
.woocommerce a.remove {
    background: var(--caldor-brick) !important;
    color: #ffffff !important;
    font-family: Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 0 !important;
    border: 2px outset var(--caldor-rust) !important;
    width: auto !important;
    height: auto !important;
    padding: 2px 8px !important;
    line-height: 1 !important;
    overflow: visible !important;
}
.woocommerce a.remove::before { content: "Remove"; }
.woocommerce a.remove { font-size: 0 !important; }
.woocommerce a.remove::before { font-size: 11px !important; }

/* Applied coupon chip -- a proper pill with code + remove button laid out
   side-by-side with a comfortable gap. */
.wc-block-components-chip,
.wc-block-components-totals-discount__coupon-list-item {
    display: inline-flex !important;
    align-items: center;
    gap: 10px !important;
    padding: 4px 6px 4px 12px !important;
    background: var(--caldor-cream) !important;
    border: 2px solid var(--caldor-rust) !important;
    border-radius: 999px !important;
    color: var(--caldor-cocoa) !important;
    font-family: "Courier New", monospace !important;
    font-weight: bold;
    letter-spacing: 1px;
    margin: 4px 6px 4px 0 !important;
}
.wc-block-components-chip__text {
    color: var(--caldor-brick) !important;
    text-transform: uppercase;
    font-size: 13px;
}
/* The outer "Remove" button rendered next to the coupon chip is redundant --
   the chip already has its own circular × button. Hide it. */
.wc-block-components-totals-coupon__discount-totals-remove {
    display: none !important;
}
.wc-block-components-chip__remove,
.wc-block-components-chip__remove-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 22px !important;
    height: 22px !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: var(--caldor-brick) !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 50% !important;
    font-size: 14px !important;
    line-height: 1 !important;
    text-transform: none !important;
    cursor: pointer !important;
    text-shadow: none !important;
    letter-spacing: 0 !important;
}
.wc-block-components-chip__remove::before {
    content: "\00d7";
    font-family: Arial, sans-serif;
    font-weight: bold;
    font-size: 18px;
    line-height: 1;
}
.wc-block-components-chip__remove svg,
.wc-block-components-chip__remove-icon svg { display: none !important; }
.wc-block-components-chip__remove:hover { background: var(--caldor-cocoa) !important; }

/* Hide mini-cart drawer X, modal close X's, dialog dismiss */
.wc-block-mini-cart__button,
.wc-block-components-drawer__close,
button[aria-label="Close"],
button[aria-label="close"],
.commercekit-modal-close,
.cgkit-modal-close,
.cgkit-drawer-close,
.cgkit-close { display: none !important; }

/* Dashicon-style close icons */
.dashicons-no-alt,
.dashicons-dismiss,
.dashicons-no { display: none !important; }

/* ============================================================
   FLOATING CART BUBBLE (bottom-right, persistent)
   ============================================================ */
.caldor-fab-cart {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 9000;
    width: 72px;
    height: 72px;
    border-radius: 0;
    background: linear-gradient(180deg, var(--caldor-sun), var(--caldor-rust) 55%, var(--caldor-brick));
    border: 3px outset var(--caldor-sun);
    box-shadow:
        0 4px 0 var(--caldor-cocoa),
        0 6px 16px rgba(42, 24, 16, 0.45);
    text-decoration: none !important;
    color: #ffffff !important;
    font-family: var(--caldor-font-head);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 6px 4px 4px;
    box-sizing: border-box;
    transition: transform 0.15s ease-out;
}
.caldor-fab-cart:hover {
    transform: translateY(-2px);
    border-style: inset;
    background: linear-gradient(180deg, var(--caldor-rust), var(--caldor-brick) 55%, var(--caldor-cocoa));
}
.caldor-fab-cart:visited { color: #ffffff !important; }
.caldor-fab-cart .caldor-fab-icon {
    width: 30px;
    height: 30px;
    color: #ffffff;
    fill: #ffffff;
    flex: 0 0 auto;
    filter: drop-shadow(1px 1px 0 rgba(42,24,16,0.55));
}
.caldor-fab-cart .caldor-fab-label {
    display: block;
    position: static;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #ffffff;
    font-family: "Impact", "Arial Black", sans-serif;
    font-weight: bold;
    font-size: 11px;
    letter-spacing: 1.2px;
    line-height: 1;
    text-transform: uppercase;
    text-shadow: 1px 1px 0 rgba(42,24,16,0.55);
    white-space: nowrap;
}
.caldor-fab-cart .caldor-fab-count {
    position: absolute;
    top: -10px;
    right: -10px;
    width: 28px;
    height: 28px;
    padding: 0;
    background: var(--caldor-sun);
    color: var(--caldor-brick);
    border: 2px solid var(--caldor-cocoa);
    border-radius: 50%;
    font-family: "Impact", "Arial Black", sans-serif;
    font-size: 15px;
    line-height: 1;
    text-align: center;
    text-shadow: 1px 1px 0 rgba(255,255,255,0.6);
    box-shadow: 0 2px 4px rgba(0,0,0,0.35);
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Hide the FAB on cart/checkout/account -- you're already there */
body.caldor-focused .caldor-fab-cart { display: none !important; }
/* FAB stays visible even when cart is empty -- just hide the count badge */
.caldor-fab-cart.is-empty .caldor-fab-count { display: none !important; }
@media (max-width: 600px) {
    .caldor-fab-cart { width: 62px; height: 62px; right: 12px; bottom: 12px; padding: 4px 4px 3px; }
    .caldor-fab-cart .caldor-fab-icon { width: 26px; height: 26px; }
    .caldor-fab-cart .caldor-fab-label { font-size: 9px; letter-spacing: 1px; }
    .caldor-fab-cart .caldor-fab-count { width: 24px; height: 24px; font-size: 13px; top: -8px; right: -8px; }
}

/* Fly-to-cart landing bounce */
.caldor-fab-cart.caldor-fab-bounce {
    animation: caldor-fab-bounce 0.7s ease-out;
}
@keyframes caldor-fab-bounce {
    0%   { transform: scale(1); }
    20%  { transform: scale(1.25) rotate(-6deg); }
    40%  { transform: scale(0.9) rotate(4deg); }
    60%  { transform: scale(1.15) rotate(-2deg); }
    80%  { transform: scale(0.97); }
    100% { transform: scale(1); }
}
.caldor-fab-cart.caldor-fab-bounce .caldor-fab-count {
    animation: caldor-fab-count-pulse 0.7s ease-out;
}
@keyframes caldor-fab-count-pulse {
    0%, 100% { background: var(--caldor-cocoa); color: var(--caldor-sun); }
    40%      { background: var(--caldor-sun);   color: var(--caldor-brick); transform: scale(1.4); }
}

/* ============================================================
   TRUST STRIP -- secure checkout, payment methods, guarantees
   Communicates "this is a real shop" without breaking the vibe.
   ============================================================ */
.caldor-trust-strip {
    margin: 14px 0;
    padding: 10px 12px;
    background: linear-gradient(180deg, #ffffff, var(--caldor-cream));
    border: 3px ridge var(--caldor-rust);
    text-align: center;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--caldor-cocoa);
    box-sizing: border-box;
}
.caldor-trust-strip .caldor-trust-line {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px 18px;
    font-size: 12px;
    line-height: 1.3;
}
.caldor-trust-strip strong { color: var(--caldor-brick); font-weight: bold; }
.caldor-trust-strip .caldor-trust-row + .caldor-trust-row {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px dashed var(--caldor-rust);
}
.caldor-trust-strip svg { vertical-align: middle; }
.caldor-trust-pay {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 46px;
    margin: 0 4px;
    line-height: 0;
    border: 0;
    background: transparent;
    overflow: visible;
}
.caldor-trust-pay svg { display: block; width: 100%; height: 100%; }
.caldor-trust-pay img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.caldor-trust-pay--img {
    width: 70px;
    height: 46px;
}
.caldor-trust-strip .caldor-trust-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 9px;
    background: #fff;
    border: 2px outset var(--caldor-cream);
    font-weight: bold;
    color: var(--caldor-cocoa);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 11px;
}
.caldor-trust-strip .caldor-trust-pill svg {
    width: 14px; height: 14px; color: var(--caldor-rust); fill: var(--caldor-rust);
}

/* ============================================================
   AUDIT: buttons, images, borders consistency pass
   ============================================================ */
/* Single product page add to cart -- the big primary CTA */
.woocommerce .single_add_to_cart_button,
.woocommerce button.single_add_to_cart_button {
    background: linear-gradient(180deg, var(--caldor-sun), var(--caldor-rust) 55%, var(--caldor-brick)) !important;
    color: #ffffff !important;
    border: 3px outset var(--caldor-sun) !important;
    font-family: "Impact", "Arial Black", sans-serif !important;
    font-size: 18px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    text-shadow: 1px 1px 0 var(--caldor-cocoa) !important;
    padding: 10px 22px !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 0 rgba(42,24,16,0.3) !important;
}
.woocommerce .single_add_to_cart_button:hover {
    border-style: inset !important;
    background: linear-gradient(180deg, var(--caldor-rust), var(--caldor-brick) 55%, var(--caldor-cocoa)) !important;
}

/* Loop add-to-cart "Check It Out" / "Add to cart" buttons */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button.add_to_cart_button {
    background: linear-gradient(180deg, var(--caldor-sun), var(--caldor-rust) 55%, var(--caldor-brick)) !important;
    color: #ffffff !important;
    border: 3px outset var(--caldor-sun) !important;
    font-size: 13px !important;
    padding: 5px 12px !important;
}

/* Quantity selector -- classic single product */
.woocommerce .quantity .qty {
    border: 2px inset var(--caldor-cocoa) !important;
    background: #fff !important;
    color: #000 !important;
    border-radius: 0 !important;
    width: 64px !important;
    text-align: center !important;
    padding: 5px !important;
    font-family: "Courier New", monospace !important;
}

/* Variation swatches & radio (CommerceKit attribute swatches) */
.cgkit-attribute-swatches .cgkit-swatch-item,
.cgkit-swatch-item {
    border: 2px outset var(--caldor-cream) !important;
    background: #fff !important;
    border-radius: 0 !important;
}
.cgkit-attribute-swatches .cgkit-swatch-item.cgkit-selected,
.cgkit-swatch-item.cgkit-selected {
    border-style: inset !important;
    box-shadow: 0 0 0 2px var(--caldor-rust) !important;
}

/* Product gallery thumbnails */
.woocommerce-product-gallery__image img,
.woocommerce div.product div.images .flex-control-thumbs li img {
    border: 3px ridge var(--caldor-rust) !important;
    border-radius: 0 !important;
    background: #fff !important;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
    border-width: 2px !important;
}

/* Account page nav + tables -- previously unstyled */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0 0 14px;
    background: var(--caldor-cream);
    border: 3px ridge var(--caldor-rust);
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
    border-bottom: 1px dashed var(--caldor-rust);
    margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: block;
    padding: 8px 12px;
    font-family: "Comic Sans MS", cursive;
    color: var(--caldor-cocoa) !important;
    text-decoration: none !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
    background: var(--caldor-sun);
    color: var(--caldor-brick) !important;
}

/* Form inputs in account/checkout, even when not block-based */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    border: 2px inset var(--caldor-cocoa) !important;
    border-radius: 0 !important;
    background: #fff !important;
    font-family: "Courier New", monospace !important;
    padding: 5px 7px !important;
}

/* Generic image safety: any uploaded image inside main gets a frame */
.caldor-main .wp-block-image img,
.caldor-main .caldor-entry img {
    border: 2px solid var(--caldor-cocoa);
    background: #fff;
    max-width: 100%;
    height: auto;
}

/* ============================================================
   ADMIN BAR safe spacing
   ============================================================ */
body.admin-bar .caldor-page { margin-top: 46px; }

/* ============================================================
   SCREEN-READER (some accessibility, this isn't a museum)
   ============================================================ */
.screen-reader-text {
    border: 0;
    clip: rect(1px,1px,1px,1px);
    height: 1px;
    width: 1px;
    overflow: hidden;
    position: absolute !important;
    padding: 0;
    margin: -1px;
}

/* ============================================================
   ADD-TO-CART buttons -- classic gray Windows-95 3D blocks
   (overrides earlier rust gradient on add-to-cart variants only,
    keeping the big rust checkout CTA on the cart/checkout pages)
   ============================================================ */
.woocommerce a.add_to_cart_button,
.woocommerce button.add_to_cart_button,
.woocommerce .ajax_add_to_cart,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce .single_add_to_cart_button,
.woocommerce button.single_add_to_cart_button,
.wc-block-components-product-button__button {
    background: linear-gradient(180deg, #f8f8f8 0%, #e0e0e0 48%, #b8b8b8 100%) !important;
    color: #1a1208 !important;
    border: 3px solid !important;
    border-color: #ffffff #6a6a6a #6a6a6a #ffffff !important;
    border-style: outset !important;
    border-radius: 0 !important;
    font-family: "Arial Black", Arial, sans-serif !important;
    font-weight: bold !important;
    text-shadow: none !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    box-shadow: 0 2px 0 rgba(42,24,16,0.25) !important;
}
.woocommerce a.add_to_cart_button:hover,
.woocommerce button.add_to_cart_button:hover,
.woocommerce .single_add_to_cart_button:hover,
.wc-block-components-product-button__button:hover {
    background: linear-gradient(180deg, #ffffff 0%, #e8e8e8 48%, #c0c0c0 100%) !important;
}
.woocommerce a.add_to_cart_button:active,
.woocommerce button.add_to_cart_button:active,
.woocommerce .single_add_to_cart_button:active {
    border-style: inset !important;
    border-color: #6a6a6a #ffffff #ffffff #6a6a6a !important;
}

/* ============================================================
   AISLE DIRECTORY bullets -- tiny pixelated Caldor rainbow
   ============================================================ */
.caldor-side > ul,
.caldor-side ul {
    list-style: none !important;
    padding-left: 4px !important;
}
.caldor-side > ul > li,
.caldor-side ul li {
    position: relative;
    padding-left: 20px;
    margin: 4px 0;
}
.caldor-side > ul > li::before,
.caldor-side ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    width: 14px;
    height: 9px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 9' shape-rendering='crispEdges'><rect x='3' y='0' width='8' height='2' fill='%23d9531e'/><rect x='1' y='2' width='12' height='2' fill='%23a82914'/><rect x='0' y='4' width='14' height='2' fill='%235a3a28'/><rect x='5' y='6' width='4' height='2' fill='%23000'/><rect x='3' y='6' width='2' height='2' fill='%23d9531e'/><rect x='9' y='6' width='2' height='2' fill='%23d9531e'/></svg>");
    background-repeat: no-repeat;
    background-size: 14px 9px;
    image-rendering: pixelated;
}

/* ============================================================
   COFFEE-STAINED CIRCULAR cards (Nostalgia page)
   ============================================================ */
.caldor-circular-ad {
    position: relative;
    display: inline-block;
    width: 240px;
    margin: 14px;
    padding: 12px 12px 16px;
    background: #f5e8d0;
    border: 1px solid #b89866;
    box-shadow: 2px 3px 6px rgba(0,0,0,0.25), inset 0 0 30px rgba(180,140,80,0.15);
    transform: rotate(-2deg);
    vertical-align: top;
    font-family: Georgia, "Times New Roman", serif;
    color: #2a1810;
    text-align: center;
    box-sizing: border-box;
}
.caldor-circular-ad:nth-child(even)  { transform: rotate(2deg); }
.caldor-circular-ad:nth-child(3n)    { transform: rotate(-1deg); }
.caldor-circular-ad::before {
    /* Coffee ring stain */
    content: "";
    position: absolute;
    top: -10px; left: -16px;
    width: 90px; height: 90px;
    border-radius: 50%;
    border: 4px solid rgba(90, 40, 10, 0.18);
    box-shadow: inset 0 0 0 6px rgba(120, 60, 20, 0.06);
    pointer-events: none;
}
.caldor-circular-ad::after {
    /* Second darker stain spot */
    content: "";
    position: absolute;
    bottom: 8px; right: -10px;
    width: 60px; height: 60px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(80, 40, 10, 0.18) 0%, rgba(80,40,10,0) 65%);
    pointer-events: none;
}
.caldor-circular-ad img { width: 100%; max-width: 200px; height: auto; border: 2px solid #2a1810; background: #fff; filter: sepia(0.15) contrast(1.05); }
.caldor-circular-ad h4 {
    font-family: "Impact", "Arial Black", sans-serif;
    color: #a82914;
    font-size: 18px;
    margin: 6px 0 2px;
    text-shadow: 1px 1px 0 rgba(0,0,0,0.15);
}
.caldor-circular-ad .price {
    font-family: "Impact", "Arial Black", sans-serif;
    color: #a82914;
    font-size: 28px;
    line-height: 1;
}
.caldor-circular-ad .price small { font-size: 14px; vertical-align: top; }
.caldor-circular-ad .caldor-circular-caption { font-size: 12px; color: #5a3a28; font-style: italic; }
.caldor-circular-grid { display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; }

/* ============================================================
   GUESTBOOK page
   ============================================================ */
.caldor-guestbook .commentlist {
    list-style: none;
    padding: 0;
    margin: 16px 0;
}
.caldor-guestbook .commentlist li.comment {
    background: var(--caldor-cream);
    border: 3px ridge var(--caldor-rust);
    padding: 10px 12px;
    margin: 0 0 12px;
}
.caldor-guestbook .commentlist .comment-meta,
.caldor-guestbook .commentlist .comment-author {
    font-family: "Comic Sans MS", cursive;
    color: var(--caldor-brick);
    font-size: 13px;
}
.caldor-guestbook .commentlist .comment-content {
    font-family: Georgia, "Times New Roman", serif;
    color: #1a1208;
    font-size: 15px;
    line-height: 1.55;
}
.caldor-guestbook #respond {
    background: #fff;
    border: 3px ridge var(--caldor-rust);
    padding: 12px 14px;
    margin-top: 18px;
}
.caldor-guestbook #respond label {
    display: block;
    font-family: "Comic Sans MS", cursive;
    color: var(--caldor-cocoa);
    margin: 8px 0 3px;
}
.caldor-guestbook #respond input[type=text],
.caldor-guestbook #respond input[type=email],
.caldor-guestbook #respond input[type=url],
.caldor-guestbook #respond textarea {
    width: 100%;
    box-sizing: border-box;
    max-width: 480px;
}

/* ============================================================
   READABILITY SWEEP -- replace Comic Sans + Times/Georgia
   everywhere with screen-readable Trebuchet MS / Verdana.
   Keeps Impact for display prices and Courier for the LCD
   counter/clock/marquee.
   ============================================================ */
body,
input, select, textarea, button,
.caldor-page, .caldor-page-inner,
.caldor-main, .caldor-main p, .caldor-main li,
.caldor-entry, .caldor-entry p, .caldor-entry li,
.caldor-main article, .caldor-product-desc-body,
.caldor-circular-ad,
.caldor-side, .caldor-side p, .caldor-side li,
.caldor-banner .caldor-tagline,
.caldor-footer, .caldor-footer p,
.woocommerce, .woocommerce p, .woocommerce li, .woocommerce td, .woocommerce th,
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout,
.wc-block-components-product-name, .wc-block-cart-items,
.caldor-guestbook .commentlist .comment-content {
    font-family: var(--caldor-font-body) !important;
}

h1, h2, h3, h4, h5, h6,
.caldor-headline, .caldor-h1,
.caldor-banner .caldor-logo,
.caldor-side h3,
.caldor-product-card .caldor-product-title,
.caldor-circular-ad h4,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title,
.wp-block-woocommerce-cart .wc-block-components-title,
.wp-block-woocommerce-checkout .wc-block-components-title,
.caldor-product-desc h2,
.caldor-guestbook .commentlist .comment-meta,
.caldor-guestbook .commentlist .comment-author,
.caldor-guestbook #respond label,
.caldor-side h3 {
    font-family: var(--caldor-font-head) !important;
}

/* Sensible heading weights/sizes for readability */
h1, .caldor-h1 { font-weight: bold; letter-spacing: 0.5px; }
h2 { font-weight: bold; letter-spacing: 0.3px; }
h3 { font-weight: bold; }

/* Body sizing tune -- Verdana is wide so the previous 17px feels heavy */
body, .caldor-main .caldor-entry, .caldor-main article {
    font-size: 15.5px !important;
    line-height: 1.6 !important;
    color: #1a1208 !important;
}

/* Prices stay Impact */
.caldor-price, .caldor-product-card .caldor-price,
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price, .woocommerce div.product span.price,
.wc-block-cart-item__total-price, .wc-block-components-product-price,
.caldor-circular-ad .price,
.caldor-fab-cart .caldor-fab-count,
.caldor-y2k30-num .caldor-y2k30-lbl-impact {
    font-family: var(--caldor-font-display) !important;
}

/* Counters / clocks / marquee stay monospace */
.caldor-counter, .caldor-counter .digit,
.caldor-y2k30-num,
.caldor-marquee,
input[type=text], input[type=email], input[type=password], input[type=tel],
input[type=number], input[type=search], input[type=url], textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.wc-block-components-text-input input,
.caldor-construction-meta {
    font-family: var(--caldor-font-mono) !important;
}

/* Sale starburst, buttons, nav, banner -- Impact / Arial Black */
.woocommerce span.onsale, .caldor-onsale,
.caldor-nav a,
.caldor-banner .caldor-flags {
    font-family: var(--caldor-font-display) !important;
}
.button, button, input[type=submit], input[type=button], .caldor-button,
.wp-block-button__link, .woocommerce a.button, .woocommerce button.button,
.woocommerce .button,
.woocommerce a.add_to_cart_button, .woocommerce button.add_to_cart_button,
.woocommerce .single_add_to_cart_button,
.wc-block-components-product-button__button,
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button {
    font-family: var(--caldor-font-head) !important;
    font-weight: bold;
    letter-spacing: 0.5px;
}

/* ============================================================
   FREE SHIPPING PROGRESS BAR (cart / checkout)
   ============================================================ */
.caldor-shipbar {
    margin: 12px 0 16px;
    padding: 10px 14px;
    background: var(--caldor-cream);
    border: 1px solid rgba(168, 41, 20, 0.4);
    box-sizing: border-box;
    font-family: var(--caldor-font-body);
    color: var(--caldor-cocoa);
}
.caldor-shipbar-msg {
    font-size: 14px;
    margin-bottom: 6px;
    text-align: center;
}
.caldor-shipbar-msg strong { color: var(--caldor-brick); }
.caldor-shipbar-track {
    height: 14px;
    background: #fff;
    border: 2px inset var(--caldor-cocoa);
    overflow: hidden;
}
.caldor-shipbar-fill {
    height: 100%;
    background: repeating-linear-gradient(45deg,
        var(--caldor-rust) 0 8px,
        var(--caldor-brick) 8px 16px);
    background-size: 22px 14px;
    animation: caldor-shipbar-shift 1.4s linear infinite;
    transition: width 0.4s ease-out;
}
@keyframes caldor-shipbar-shift {
    from { background-position: 0 0; }
    to   { background-position: 22px 0; }
}

/* ============================================================
   WHY WE PICKED THIS -- product page editorial card
   ============================================================ */
.caldor-why-picked {
    margin: 28px 0 24px;
    padding: 22px 26px;
    background: #ffffff;
    border: 3px ridge var(--caldor-rust);
    box-sizing: border-box;
    box-shadow: inset 0 0 40px rgba(180,140,80,0.08);
}
.caldor-why-picked h3 {
    font-family: var(--caldor-font-head) !important;
    color: var(--caldor-brick) !important;
    text-align: left !important;
    margin: 0 0 14px;
    font-size: 22px;
}
.caldor-why-picked p {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    line-height: 1.75;
    color: #1a1208;
    margin: 0 0 10px;
}

/* Loosen the single-product summary -- image + price + size buttons + ATC */
.woocommerce div.product .product_title {
    margin-bottom: 14px !important;
    line-height: 1.2 !important;
}
.woocommerce div.product div.summary {
    padding: 4px 6px 12px;
}
.woocommerce div.product div.summary > * { margin-bottom: 14px; }
.woocommerce div.product div.summary .price {
    margin-bottom: 16px !important;
}
.woocommerce div.product .woocommerce-product-details__short-description {
    margin: 8px 0 18px;
    line-height: 1.65;
}
.woocommerce div.product form.cart {
    margin-top: 14px !important;
    margin-bottom: 18px !important;
}
.woocommerce div.product form.cart .variations { margin-bottom: 14px; }
.woocommerce div.product form.cart .variations td.label { padding-right: 12px; padding-top: 8px; vertical-align: middle; }
.woocommerce div.product form.cart .button { margin-top: 8px; }
.woocommerce div.product .single_variation_wrap .woocommerce-variation-add-to-cart { margin-top: 14px; }
.woocommerce div.product .images { margin-bottom: 22px; }

/* ============================================================
   VARIATION BUTTONS -- the dropdown -> chips upgrade
   (markup created by retro.js)
   ============================================================ */
.caldor-vchips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 4px 0 10px;
}
.caldor-vchip {
    display: inline-flex;
    align-items: center;
    min-width: 44px;
    padding: 6px 12px;
    background: linear-gradient(180deg, #f8f8f8, #dcdcdc 55%, #b8b8b8);
    border: 3px outset #ffffff;
    color: var(--caldor-cocoa);
    font-family: var(--caldor-font-head);
    font-weight: bold;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    user-select: none;
}
.caldor-vchip:hover { background: linear-gradient(180deg, var(--caldor-sun), #f0b542 55%, #c89020); }
.caldor-vchip.is-selected {
    background: linear-gradient(180deg, var(--caldor-rust), var(--caldor-brick) 55%, var(--caldor-cocoa)) !important;
    color: #ffffff !important;
    border-style: inset !important;
    border-color: var(--caldor-cocoa) !important;
}
.caldor-vchip.is-disabled { opacity: 0.4; cursor: not-allowed; }
.woocommerce .variations select.caldor-vchip-source { display: none !important; }
.woocommerce .variations { border-collapse: separate; }
.woocommerce .variations td { padding-bottom: 8px; }

/* ============================================================
   SUNDAY CIRCULAR HOMEPAGE -- the BIG vintage retail hero
   ============================================================ */
.caldor-circular-hero {
    margin: 0 0 18px;
    padding: 18px 0 0;
    background:
        radial-gradient(circle at 20% 20%, rgba(240,181,66,0.18) 0%, transparent 45%),
        radial-gradient(circle at 80% 80%, rgba(168,41,20,0.10) 0%, transparent 50%),
        #fcf4e0;
    border: 4px double var(--caldor-cocoa);
    box-shadow:
        inset 0 0 80px rgba(217, 83, 30, 0.10),
        0 4px 0 var(--caldor-cocoa);
    position: relative;
    overflow: hidden;
}
.caldor-circular-hero::before {
    /* vintage newsprint speckle */
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch' seed='3'/><feColorMatrix values='0 0 0 0 0.35  0 0 0 0 0.22  0 0 0 0 0.10  0 0 0 0.14 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
    pointer-events: none;
    opacity: 0.55;
}
.caldor-circular-hero::after {
    /* sun-yellow radial halo behind the headline */
    content: "";
    position: absolute;
    top: 40%; left: 50%;
    width: 60%; height: 70%;
    transform: translate(-50%, -50%);
    background: radial-gradient(ellipse at center, rgba(240,181,66,0.45) 0%, rgba(240,181,66,0) 65%);
    pointer-events: none;
    z-index: 0;
}

/* Decorative starburst stickers in the corners */
.caldor-hero-deco {
    position: absolute;
    z-index: 1;
    pointer-events: none;
}
.caldor-hero-deco--burst-tl { top: 14px; left: 10px;  transform: rotate(-14deg); }
.caldor-hero-deco--burst-tr { top: 10px; right: 14px; transform: rotate(10deg); }
.caldor-hero-deco--burst-bl { bottom: 56px; left: 16px; transform: rotate(-8deg); }
.caldor-hero-deco--tag      { bottom: 52px; right: 18px; transform: rotate(8deg); }

.caldor-hero-burst {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    padding: 8px;
    text-align: center;
    font-family: "Impact", "Arial Black", sans-serif;
    font-weight: 900;
    line-height: 0.95;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    clip-path: polygon(
        50%   0%, 61% 14%, 76%  6%, 73% 24%, 92% 18%, 84% 35%,
        100% 38%, 86% 50%, 100% 62%, 84% 65%, 92% 82%, 73% 76%,
        76%  94%, 61% 86%, 50% 100%, 39% 86%, 24% 94%, 27% 76%,
         8%  82%, 16% 65%,  0% 62%, 14% 50%,  0% 38%, 16% 35%,
         8%  18%, 27% 24%, 24%  6%, 39% 14%
    );
    box-shadow: 0 3px 0 rgba(90, 58, 40, 0.35);
    animation: caldor-hero-spin 12s linear infinite;
}
.caldor-hero-burst em {
    display: block;
    font-style: normal;
    font-size: 22px;
    color: inherit;
    text-shadow: 1px 1px 0 rgba(0,0,0,0.25);
    margin-bottom: 2px;
}
.caldor-hero-burst--red {
    background: radial-gradient(circle at 30% 30%, #e85a2d 0%, var(--caldor-brick) 70%);
    color: var(--caldor-sun);
    font-size: 13px;
    text-shadow: 1px 1px 0 rgba(0,0,0,0.4);
}
.caldor-hero-burst--yellow {
    background: radial-gradient(circle at 30% 30%, #ffd86b 0%, var(--caldor-sun) 60%, #c89020 100%);
    color: var(--caldor-brick);
    font-size: 22px;
    text-shadow: 1px 1px 0 rgba(255,255,255,0.4);
}
.caldor-hero-burst--cream {
    background: radial-gradient(circle at 30% 30%, #ffffff 0%, var(--caldor-cream) 70%);
    color: var(--caldor-brick);
    border: 0;
    filter: drop-shadow(0 0 1px var(--caldor-cocoa)) drop-shadow(2px 3px 0 rgba(90,58,40,0.35));
    font-size: 12px;
    width: 88px; height: 88px;
}
@keyframes caldor-hero-spin {
    0%, 92%, 100% { transform: rotate(0); }
    96%          { transform: rotate(4deg); }
}
/* Counter-rotate so the wrapper's static angle is respected and the burst
   itself does the subtle wiggle */
.caldor-hero-deco--burst-tl .caldor-hero-burst { animation-delay: 0.0s; }
.caldor-hero-deco--burst-tr .caldor-hero-burst { animation-delay: 1.5s; }
.caldor-hero-deco--burst-bl .caldor-hero-burst { animation-delay: 3.0s; }

/* Printed price-tag (string + tag) */
.caldor-hero-pricetag {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 130px;
    height: 92px;
    padding: 10px 8px 10px 22px;
    background: linear-gradient(180deg, var(--caldor-sun) 0%, #f0b542 55%, #c89020 100%);
    color: var(--caldor-brick);
    border: 3px solid var(--caldor-cocoa);
    font-family: "Impact", "Arial Black", sans-serif;
    text-align: center;
    clip-path: polygon(15% 0%, 100% 0%, 100% 100%, 15% 100%, 0% 50%);
    box-shadow:
        0 5px 0 var(--caldor-cocoa),
        0 8px 14px rgba(0,0,0,0.25);
    position: relative;
}
.caldor-hero-pricetag::before {
    content: "";
    position: absolute;
    top: 50%; left: 10px;
    width: 12px; height: 12px;
    background: var(--caldor-cream);
    border: 2px solid var(--caldor-cocoa);
    border-radius: 50%;
    transform: translateY(-50%);
}
.caldor-hero-pricetag-from {
    display: block;
    font-family: Georgia, serif;
    font-style: italic;
    font-weight: bold;
    font-size: 12px;
    color: var(--caldor-cocoa);
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 1;
    margin-bottom: 2px;
}
.caldor-hero-pricetag-amt {
    display: block;
    font-family: "Impact", "Arial Black", sans-serif;
    font-size: 40px;
    line-height: 0.9;
    color: var(--caldor-brick);
    text-shadow:
        1px 1px 0 #fff,
        2px 2px 0 rgba(90,58,40,0.45);
    letter-spacing: -1px;
}
.caldor-hero-pricetag-amt strong {
    font-weight: 900;
    font-size: 48px;
}
.caldor-hero-pricetag-amt sup {
    font-size: 16px;
    vertical-align: top;
    margin-left: 2px;
    font-weight: 700;
}
.caldor-circular-hero-inner {
    position: relative;
    z-index: 5 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    padding: 28px 130px 18px;
    text-align: center;
}
.caldor-circular-hero-logo {
    flex: 0 0 auto;
    position: relative;
    z-index: 10;
    transform: rotate(-3deg);
    filter: drop-shadow(3px 4px 0 rgba(90,58,40,0.35));
}
.caldor-circular-hero-text { position: relative; z-index: 10; }
.caldor-circular-hero-logo-img {
    display: block;
    width: 160px;
    height: auto;
}
.caldor-circular-hero-text { flex: 0 1 auto; text-align: center; }
.caldor-circular-hero-eyebrow {
    margin: 0 0 6px !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-style: italic !important;
    font-size: 14px !important;
    color: var(--caldor-cocoa) !important;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.caldor-circular-hero-title {
    margin: 0 !important;
    font-family: "Impact", "Arial Black", "Helvetica Neue", Arial, sans-serif !important;
    line-height: 0.88 !important;
    letter-spacing: -1px !important;
    text-align: center !important;
    text-transform: uppercase;
    font-style: italic;
    color: var(--caldor-sun) !important;
}
.caldor-circular-hero-title .caldor-deals-line {
    display: block;
    -webkit-text-stroke: 2px var(--caldor-brick);
    text-stroke: 2px var(--caldor-brick);
    text-shadow:
        3px 3px 0 var(--caldor-brick),
        5px 5px 0 var(--caldor-cocoa);
}
.caldor-circular-hero-title .caldor-deals-line--top {
    font-size: clamp(28px, 4vw, 48px);
    letter-spacing: 6px !important;
    color: var(--caldor-brick) !important;
    -webkit-text-stroke: 0 !important;
    text-stroke: 0 !important;
    text-shadow: 2px 2px 0 var(--caldor-sun) !important;
    margin-bottom: 2px;
}
.caldor-circular-hero-title .caldor-deals-line--main {
    font-size: clamp(38px, 6.5vw, 78px);
    white-space: nowrap;
}
.caldor-circular-hero-dateline {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px;
    font-weight: bold;
    color: var(--caldor-cocoa);
    margin: 14px 0 0;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-align: center;
}
.caldor-circular-hero-dateline-inner {
    display: inline-block;
    border-top: 2px solid var(--caldor-cocoa);
    border-bottom: 2px solid var(--caldor-cocoa);
    padding: 5px 14px;
    background: rgba(255,255,255,0.55);
}
.caldor-circular-hero-dateline-inner strong { color: var(--caldor-brick); }
.caldor-circular-hero-sub {
    margin: 8px 0 0;
    text-align: center;
    font-family: "Impact", "Arial Black", sans-serif;
    color: var(--caldor-brick);
    font-size: 13px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-shadow: 1px 1px 0 rgba(255,255,255,0.6);
}
.caldor-circular-hero-flag {
    position: relative;
    margin: 0;
    padding: 6px 10px;
    background: var(--caldor-brick);
    color: var(--caldor-cream);
    font-family: var(--caldor-font-head);
    font-weight: bold;
    font-size: 13px;
    text-align: center;
    border-top: 2px solid var(--caldor-cocoa);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.caldor-circular-feature {
    margin: 22px 0;
}
.caldor-circular-feature-title {
    margin: 0 0 4px !important;
    font-family: "Impact", "Arial Black", sans-serif !important;
    font-size: 36px !important;
    color: var(--caldor-brick) !important;
    text-align: center !important;
    text-shadow: 2px 2px 0 var(--caldor-sun) !important;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.caldor-circular-feature-sub {
    text-align: center;
    font-family: Georgia, "Times New Roman", serif;
    font-style: italic;
    color: var(--caldor-cocoa);
    margin: 0 0 18px;
}
.caldor-circular-feature-cta {
    text-align: center;
    margin-top: 18px !important;
}

/* Homepage WC product cards -- give them a printed-circular feel */
body.home .woocommerce ul.products li.product,
.caldor-circular-feature .woocommerce ul.products li.product {
    background: #ffffff !important;
    border: 2px solid var(--caldor-cocoa) !important;
    box-shadow:
        2px 2px 0 rgba(90, 58, 40, 0.18) !important;
}
body.home .woocommerce ul.products li.product .price,
.caldor-circular-feature .woocommerce ul.products li.product .price {
    display: block;
    margin-top: 4px;
    line-height: 1;
}
body.home .woocommerce ul.products li.product .price del,
.caldor-circular-feature .woocommerce ul.products li.product .price del {
    font-family: var(--caldor-font-body) !important;
    color: #888 !important;
    font-size: 13px !important;
    text-shadow: none !important;
    margin-right: 4px;
}

.caldor-circular-signup {
    margin: 28px 0 8px;
    padding: 22px 26px;
    background: #fcf4e0;
    border: 3px ridge var(--caldor-rust);
    text-align: center;
}
.caldor-circular-signup h2 { margin: 0 0 8px !important; }
.caldor-circular-signup p { max-width: 540px; margin: 0 auto 14px; }
.caldor-circular-signup form { margin: 12px 0; }
.caldor-circular-signup-fine { font-size: 12px; color: #5a3a28; }
.caldor-subscribe-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px; height: 1px;
    overflow: hidden;
}
.caldor-subscribe-msg {
    min-height: 1.4em;
    margin: 10px 0 0 !important;
    font-family: var(--caldor-font-head);
    font-weight: bold;
    font-size: 14px;
}
.caldor-subscribe-msg.is-pending { color: var(--caldor-cocoa); }
.caldor-subscribe-msg.is-success { color: #2e7d3a; }
.caldor-subscribe-msg.is-error   { color: var(--caldor-brick); }

@media (max-width: 720px) {
    .caldor-circular-hero-inner { flex-direction: column; gap: 10px; padding: 16px 14px 10px !important; }
    .caldor-circular-hero-title .caldor-deals-line--top { font-size: 18px !important; letter-spacing: 3px !important; }
    .caldor-circular-hero-title .caldor-deals-line--main { font-size: clamp(28px, 7vw, 48px) !important; -webkit-text-stroke-width: 1.5px !important; text-shadow: 2px 2px 0 var(--caldor-brick), 4px 4px 0 var(--caldor-cocoa) !important; }
    .caldor-circular-hero-logo-img { width: 110px; }
    .caldor-circular-hero-eyebrow { font-size: 12px !important; }
    .caldor-circular-hero-sub { font-size: 11px; }
    .caldor-circular-feature-title { font-size: 28px !important; }
    .caldor-circular-hero-flag { font-size: 11px; }
    .caldor-hero-deco--burst-tl,
    .caldor-hero-deco--burst-bl { display: none; }
    .caldor-hero-deco--burst-tr { top: 6px; right: 6px; }
    .caldor-hero-deco--burst-tr .caldor-hero-burst { width: 64px; height: 64px; font-size: 14px; }
    .caldor-hero-deco--tag { bottom: 56px; right: 6px; }
    .caldor-hero-pricetag { width: 100px; height: 72px; padding: 8px 6px 8px 18px; }
    .caldor-hero-pricetag-amt { font-size: 28px; }
    .caldor-hero-pricetag-amt strong { font-size: 34px; }
    .caldor-hero-pricetag-amt sup { font-size: 12px; }
    .caldor-hero-pricetag-from { font-size: 10px; }
}
@media (max-width: 480px) {
    .caldor-hero-deco--burst-tr,
    .caldor-hero-deco--tag { display: none; }
    .caldor-circular-hero-title .caldor-deals-line--main { font-size: clamp(26px, 8vw, 42px) !important; }
}

/* ============================================================
   LIGHTBOX -- vanilla, no library
   ============================================================ */
.caldor-lightbox {
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(26, 18, 8, 0.92);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    animation: caldor-lightbox-in 0.18s ease-out;
    cursor: zoom-out;
}
@keyframes caldor-lightbox-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}
.caldor-lightbox-img {
    max-width: 92vw;
    max-height: 88vh;
    width: auto;
    height: auto;
    background: #fff;
    border: 4px ridge var(--caldor-rust);
    box-shadow: 0 10px 40px rgba(0,0,0,0.6);
    cursor: default;
}
.caldor-lightbox-close {
    position: absolute;
    top: 16px;
    right: 18px;
    width: 44px;
    height: 44px;
    border-radius: 50% !important;
    background: var(--caldor-sun) !important;
    color: var(--caldor-brick) !important;
    border: 3px outset var(--caldor-rust) !important;
    font-family: "Impact", sans-serif !important;
    font-size: 28px !important;
    line-height: 1 !important;
    cursor: pointer;
    padding: 0 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
    box-shadow: 0 3px 0 rgba(0,0,0,0.4) !important;
}
.caldor-lightbox-close:hover {
    background: var(--caldor-rust) !important;
    color: #fff !important;
}

/* ============================================================
   PRODUCT-PAGE ATC -- orange when a variation is selected
   ============================================================ */
/* Default = gray system block (disabled / no variation chosen) */
.woocommerce div.product .single_add_to_cart_button.wc-variation-selection-needed,
.woocommerce div.product .single_add_to_cart_button.disabled,
.woocommerce div.product .single_add_to_cart_button[disabled] {
    background: linear-gradient(180deg, #f8f8f8 0%, #e0e0e0 48%, #b8b8b8 100%) !important;
    color: #4a4a4a !important;
    border-color: #ffffff #6a6a6a #6a6a6a #ffffff !important;
    cursor: not-allowed !important;
    opacity: 0.85;
}
/* When enabled (variation selected OR simple product) -> rust→brick gradient */
.woocommerce div.product .single_add_to_cart_button:not(.wc-variation-selection-needed):not(.disabled):not([disabled]) {
    background: linear-gradient(180deg, var(--caldor-sun), var(--caldor-rust) 55%, var(--caldor-brick)) !important;
    color: #ffffff !important;
    border-color: var(--caldor-sun) var(--caldor-brick) var(--caldor-brick) var(--caldor-sun) !important;
    text-shadow: 1px 1px 0 var(--caldor-cocoa) !important;
    cursor: pointer !important;
    opacity: 1;
}
.woocommerce div.product .single_add_to_cart_button:not(.wc-variation-selection-needed):not(.disabled):not([disabled]):hover {
    background: linear-gradient(180deg, var(--caldor-rust), var(--caldor-brick) 55%, var(--caldor-cocoa)) !important;
}

/* Tighten the ATC out of empty space */
.woocommerce div.product form.cart .variations {
    margin-bottom: 6px !important;
}
.woocommerce div.product form.cart .reset_variations {
    display: inline-block;
    margin: 4px 0 8px;
    font-size: 12px;
    color: var(--caldor-cocoa);
}
.woocommerce div.product .single_variation_wrap {
    margin-top: 8px !important;
}
.woocommerce div.product .single_variation_wrap .woocommerce-variation-add-to-cart {
    margin-top: 6px !important;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.woocommerce div.product .single_variation_wrap .quantity { margin: 0; }

/* ============================================================
   "DO NOT CLICK" BUTTON + PRICE TAG MATCH GAME
   ============================================================ */
.caldor-dnc { text-align: center; }
.caldor-dnc-btn {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    padding: 10px 6px !important;
    background: linear-gradient(180deg, #ff5050 0%, #d12020 55%, #8b1010 100%) !important;
    color: #ffffff !important;
    border: 3px outset #ff8080 !important;
    border-radius: 0 !important;
    font-family: "Impact", "Arial Black", sans-serif !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    text-shadow: 1px 1px 0 rgba(0,0,0,0.5) !important;
    cursor: pointer !important;
    line-height: 1.15 !important;
    animation: caldor-dnc-pulse 1.6s ease-in-out infinite;
}
.caldor-dnc-btn:hover {
    background: linear-gradient(180deg, #ff8080 0%, #ff3030 55%, #aa1010 100%) !important;
    transform: translateY(-1px);
}
.caldor-dnc-btn:active { border-style: inset !important; transform: translateY(1px); }
.caldor-dnc-dot { font-size: 18px; line-height: 1; }
@keyframes caldor-dnc-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.55); }
    50%      { box-shadow: 0 0 0 8px rgba(255, 0, 0, 0); }
}

/* Modal */
.caldor-game-modal {
    position: fixed;
    inset: 0;
    z-index: 10001;
    background: rgba(26, 18, 8, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    overflow-y: auto;
    animation: caldor-lightbox-in 0.18s ease-out;
}
.caldor-game-modal[hidden] { display: none !important; }
.caldor-game-stage {
    position: relative;
    width: 100%;
    max-width: 520px;
    max-height: 100%;
    overflow-y: auto;
    background: var(--caldor-cream);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch' seed='2'/><feColorMatrix values='0 0 0 0 0.45  0 0 0 0 0.30  0 0 0 0 0.15  0 0 0 0.10 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");
    border: 4px ridge var(--caldor-rust);
    box-shadow:
        0 6px 0 var(--caldor-cocoa),
        0 14px 40px rgba(0,0,0,0.55);
    padding: 26px 22px 22px;
    text-align: center;
    font-family: var(--caldor-font-body);
    color: #1a1208;
}
.caldor-game-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 36px !important;
    height: 36px !important;
    min-width: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: var(--caldor-sun) !important;
    color: var(--caldor-brick) !important;
    border: 3px outset var(--caldor-rust) !important;
    font-family: "Impact", sans-serif !important;
    font-size: 24px !important;
    line-height: 1 !important;
    cursor: pointer;
    text-shadow: none !important;
    letter-spacing: 0 !important;
}
.caldor-game-close:hover { background: var(--caldor-rust) !important; color: #fff !important; }

.caldor-game-screen h2 {
    font-family: var(--caldor-font-head) !important;
    color: var(--caldor-brick) !important;
    font-size: 28px !important;
    margin: 0 0 4px !important;
    text-shadow: 2px 2px 0 var(--caldor-sun);
}
.caldor-game-lead {
    font-family: Georgia, "Times New Roman", serif;
    font-style: italic;
    font-size: 17px;
    color: var(--caldor-cocoa);
    margin: 0 0 12px !important;
}
.caldor-game-screen p { margin: 8px 0 14px; line-height: 1.55; }

/* Game grid -- 3 columns × 2 rows for 6 cards */
.caldor-game-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin: 14px auto 10px;
    max-width: 380px;
    perspective: 800px;
}
.caldor-game-card {
    aspect-ratio: 3 / 4;
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.5s cubic-bezier(.4,1.6,.6,1);
}
.caldor-game-card.is-flipped,
.caldor-game-card.is-matched { transform: rotateY(180deg); }
.caldor-game-card.is-matched { animation: caldor-game-bounce 0.6s ease-out; }
@keyframes caldor-game-bounce {
    0%, 100% { transform: rotateY(180deg) scale(1); }
    50%      { transform: rotateY(180deg) scale(1.08); }
}
.caldor-game-card-face {
    position: absolute;
    inset: 0;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid var(--caldor-cocoa);
    background: #ffffff;
    overflow: hidden;
}
.caldor-game-card-back {
    /* Question-mark back, cocoa with rainbow stripe */
    background:
        linear-gradient(135deg, transparent 50%, rgba(217,83,30,0.15) 50%),
        repeating-linear-gradient(45deg, #fcf4e0 0 8px, var(--caldor-cream) 8px 16px);
    color: var(--caldor-brick);
    font-family: "Impact", "Arial Black", sans-serif;
    font-size: 48px;
    text-shadow: 2px 2px 0 var(--caldor-sun);
}
.caldor-game-card-front { transform: rotateY(180deg); }

/* Price tag SVG fills the front */
.caldor-game-card-front svg { width: 90%; height: 90%; display: block; }

.caldor-game-status {
    font-family: var(--caldor-font-head);
    color: var(--caldor-cocoa);
    font-weight: bold;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.caldor-game-moves-line {
    font-family: var(--caldor-font-mono);
    color: var(--caldor-cocoa);
    font-size: 13px;
}
.caldor-game-moves-line strong { color: var(--caldor-brick); font-size: 15px; }

/* Reward */
.caldor-game-coupon {
    margin: 14px auto;
    padding: 16px 18px;
    background: #ffffff;
    border: 3px dashed var(--caldor-rust);
    max-width: 340px;
}
.caldor-game-coupon-pct {
    font-family: "Impact", "Arial Black", sans-serif;
    color: var(--caldor-brick);
    font-size: 54px;
    line-height: 0.9;
    text-shadow: 2px 2px 0 var(--caldor-sun), 4px 4px 0 var(--caldor-cocoa);
    letter-spacing: -1px;
}
.caldor-game-coupon-code {
    font-family: "Courier New", monospace;
    color: var(--caldor-cocoa);
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 4px;
    padding: 8px 0;
    margin: 8px 0;
    background: var(--caldor-cream);
    border-top: 2px dashed var(--caldor-rust);
    border-bottom: 2px dashed var(--caldor-rust);
}
.caldor-game-coupon small {
    display: block;
    font-style: italic;
    color: var(--caldor-cocoa);
    font-size: 12px;
}

@media (max-width: 560px) {
    .caldor-game-stage { padding: 22px 14px 18px; }
    .caldor-game-grid { gap: 7px; max-width: 320px; }
    .caldor-game-card-back { font-size: 36px; }
    .caldor-game-screen h2 { font-size: 22px !important; }
    .caldor-game-coupon-pct { font-size: 42px; }
    .caldor-game-coupon-code { font-size: 18px; letter-spacing: 3px; }
}

/* ============================================================
   EASTER EGGS -- counter, Y2K clock, construction sign
   ============================================================ */
/* Toast notifications shared by all eggs */
.caldor-ee-toast {
    position: fixed;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
    z-index: 10050;
    background: var(--caldor-cocoa);
    color: var(--caldor-sun);
    font-family: var(--caldor-font-head);
    font-size: 16px;
    padding: 12px 22px;
    border: 3px ridge var(--caldor-rust);
    box-shadow: 0 6px 16px rgba(0,0,0,0.45);
    animation: caldor-ee-toast-in 0.25s ease-out;
    max-width: 92vw;
    text-align: center;
}
.caldor-ee-toast--y2k {
    background: #000;
    color: #00ff66;
    font-family: "Courier New", monospace;
    border-color: #00ff66;
    animation: caldor-ee-toast-in 0.25s ease-out, caldor-ee-flicker 0.15s steps(2) infinite;
}
.caldor-ee-toast--cnst {
    background: repeating-linear-gradient(45deg, #ffd400 0 12px, #1a1208 12px 24px);
    color: #ffffff;
    border-color: #ffd400;
    text-shadow: 1px 1px 0 #000, 0 0 4px #000;
}
.caldor-ee-emoji { font-size: 22px; vertical-align: middle; }
@keyframes caldor-ee-toast-in {
    from { transform: translate(-50%, 24px); opacity: 0; }
    to   { transform: translate(-50%, 0);    opacity: 1; }
}
@keyframes caldor-ee-flicker {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.6; }
}

/* Hit counter when "broken" -- shake during spin, settle for message */
.caldor-counter[data-broken="1"] {
    animation: caldor-counter-shake 0.18s linear infinite;
    color: #ff3030 !important;
    text-shadow: 0 0 6px rgba(255, 0, 0, 0.8);
    cursor: pointer !important;
}
.caldor-counter[data-broken="1"] .digit {
    background: linear-gradient(180deg, #330000, #110000) !important;
    border-color: #ff3030 !important;
    color: #ff3030 !important;
}
/* Once the message appears, stop shaking and let the overlay sit still */
.caldor-counter.caldor-counter-broken-msg {
    animation: none !important;
}
.caldor-counter-msg {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ff3030;
    font-family: var(--caldor-font-head);
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 0.5px;
    text-shadow: 0 0 6px rgba(255, 0, 0, 0.7);
    text-transform: uppercase;
    pointer-events: none;
    animation: caldor-counter-msg-pop 0.3s ease-out;
}
@keyframes caldor-counter-msg-pop {
    from { transform: scale(0.7); opacity: 0; }
    to   { transform: scale(1);    opacity: 1; }
}
@keyframes caldor-counter-shake {
    0%, 100% { transform: translate(0, 0) rotate(0); }
    25%      { transform: translate(-1px, 1px) rotate(-1deg); }
    75%      { transform: translate(1px, -1px) rotate(1deg); }
}

/* Y2K crash mode -- shakes the whole site for a beat */
body.caldor-y2k-crash .caldor-page {
    animation: caldor-y2k-quake 0.18s linear infinite;
}
body.caldor-y2k-crash .caldor-circular-hero,
body.caldor-y2k-crash .caldor-banner,
body.caldor-y2k-crash .caldor-nav,
body.caldor-y2k-crash .caldor-marquee,
body.caldor-y2k-crash .caldor-side,
body.caldor-y2k-crash .caldor-main,
body.caldor-y2k-crash .caldor-footer {
    animation: caldor-y2k-fall 1.6s ease-in forwards;
    transform-origin: center top;
}
body.caldor-y2k-crash .caldor-circular-hero { animation-delay: 0.0s; }
body.caldor-y2k-crash .caldor-banner        { animation-delay: 0.05s; }
body.caldor-y2k-crash .caldor-nav           { animation-delay: 0.1s; }
body.caldor-y2k-crash .caldor-marquee       { animation-delay: 0.15s; }
body.caldor-y2k-crash .caldor-side          { animation-delay: 0.2s; }
body.caldor-y2k-crash .caldor-main          { animation-delay: 0.25s; }
body.caldor-y2k-crash .caldor-footer        { animation-delay: 0.3s; }
@keyframes caldor-y2k-quake {
    0%, 100% { transform: translate(0,0); }
    20%      { transform: translate(-3px, 2px); }
    40%      { transform: translate(3px, -2px) rotate(0.3deg); }
    60%      { transform: translate(-2px, -2px); }
    80%      { transform: translate(2px, 2px) rotate(-0.3deg); }
}
@keyframes caldor-y2k-fall {
    0%   { transform: translate(0,0) rotate(0); opacity: 1; filter: none; }
    20%  { transform: translate(-4px, 0) rotate(-1deg); }
    60%  { transform: translate(2px, 220px) rotate(6deg); opacity: 1; filter: hue-rotate(-30deg) contrast(1.2); }
    100% { transform: translate(-6px, 600px) rotate(14deg); opacity: 0; filter: hue-rotate(120deg) contrast(2); }
}

/* Construction mode -- hazard-yellow takeover */
body.caldor-mode-construction {
    background-color: #1a1208 !important;
}
body.caldor-mode-construction .caldor-page {
    background:
        repeating-linear-gradient(45deg, #ffd400 0 24px, #1a1208 24px 48px) !important;
    border-color: #ffd400 !important;
}
body.caldor-mode-construction .caldor-page-inner {
    background-color: #fff7d0 !important;
    background-image: none !important;
    border-color: #1a1208 !important;
}
body.caldor-mode-construction .caldor-nav {
    background: #1a1208 !important;
    border-top: 4px solid #ffd400 !important;
    border-bottom: 4px solid #ffd400 !important;
}
body.caldor-mode-construction .caldor-nav a {
    background: linear-gradient(180deg, #ffd400 0%, #c89020 100%) !important;
    color: #1a1208 !important;
    border-color: #ffd400 #1a1208 #1a1208 #ffd400 !important;
}
body.caldor-mode-construction .caldor-marquee {
    background: #ffd400 !important;
    color: #1a1208 !important;
    border-color: #1a1208 !important;
}
body.caldor-mode-construction .caldor-circular-hero,
body.caldor-mode-construction .caldor-circular-signup,
body.caldor-mode-construction .caldor-circular-feature {
    background:
        repeating-linear-gradient(45deg, rgba(255,212,0,0.18) 0 12px, transparent 12px 24px),
        #fff7d0 !important;
}
body.caldor-mode-construction h1,
body.caldor-mode-construction h2,
body.caldor-mode-construction h3,
body.caldor-mode-construction h4,
body.caldor-mode-construction .caldor-circular-hero-title .caldor-deals-line {
    color: #1a1208 !important;
    -webkit-text-stroke: 2px #ffd400 !important;
    text-stroke: 2px #ffd400 !important;
    text-shadow: 3px 3px 0 #ffd400 !important;
}
body.caldor-mode-construction .caldor-footer {
    background: linear-gradient(180deg, #ffd400, #c89020) !important;
    color: #1a1208 !important;
}
body.caldor-mode-construction .caldor-fab-cart {
    background: linear-gradient(180deg, #ffd400, #c89020) !important;
    color: #1a1208 !important;
    border-color: #1a1208 !important;
}
body.caldor-mode-construction .caldor-fab-cart .caldor-fab-icon { fill: #1a1208 !important; color: #1a1208 !important; }
body.caldor-mode-construction .caldor-fab-cart .caldor-fab-label { color: #1a1208 !important; text-shadow: none !important; }

/* ============================================================
   LOGO CLICK -- 3-color Caldor rainbow sweeps across the screen
   ============================================================ */
.caldor-rainbow-sweep {
    position: fixed;
    inset: 0;
    z-index: 10100;
    pointer-events: none;
    overflow: hidden;
}
.caldor-rainbow-bar {
    position: absolute;
    left: 0;
    width: 200vw;
    height: 33.34vh;
    transform: translateX(-200vw) skewX(-12deg);
    box-shadow: 0 0 22px rgba(0,0,0,0.25);
    animation: caldor-rainbow-sweep 1.3s cubic-bezier(.55,.05,.45,.95) forwards;
}
.caldor-rainbow-bar--1 {
    top: 0;
    background: linear-gradient(90deg, #ed8b3c 0%, #ffb463 50%, #ed8b3c 100%);
    animation-delay: 0s;
}
.caldor-rainbow-bar--2 {
    top: 33.33vh;
    background: linear-gradient(90deg, #d9531e 0%, #ff6b3a 50%, #d9531e 100%);
    animation-delay: 0.12s;
}
.caldor-rainbow-bar--3 {
    top: 66.66vh;
    background: linear-gradient(90deg, #a82914 0%, #d04428 50%, #a82914 100%);
    animation-delay: 0.24s;
}
@keyframes caldor-rainbow-sweep {
    0%   { transform: translateX(-200vw) skewX(-12deg); }
    60%  { transform: translateX(0)      skewX(-12deg); }
    100% { transform: translateX(200vw)  skewX(-12deg); }
}
@media (prefers-reduced-motion: reduce) {
    .caldor-rainbow-sweep { display: none !important; }
}

/* ============================================================
   CART POLISH -- spacing for express-payment buttons
   ============================================================ */
.wp-block-woocommerce-cart-express-payment-block,
.wp-block-woocommerce-checkout-express-payment-block,
.wc-block-components-express-payment {
    margin: 14px 0 !important;
    padding: 10px 0 !important;
}
.wc-block-components-express-payment__title-container,
.wc-block-components-express-payment__title {
    margin: 10px 0 !important;
    font-family: var(--caldor-font-head) !important;
    color: var(--caldor-cocoa);
    font-size: 13px !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.wc-block-components-express-payment__event-buttons,
.wc-block-components-express-payment__content > ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.wc-block-components-express-payment__event-buttons > li,
.wc-block-components-express-payment__content li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}
.wc-block-components-express-payment__event-buttons button,
.wc-block-components-express-payment__content button,
.gpay-card-info-container,
.apple-pay-button,
.gpay-card-info-container.long {
    width: 100% !important;
    min-height: 48px !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}
/* Google Pay specifically -- let its inner card-info chips show fully */
.gpay-button-fill { width: 100% !important; max-width: 100% !important; }
.gpay-card-info-container iframe { width: 100% !important; }
/* "OR" separator between express buttons and the main checkout CTA */
.wc-block-components-express-payment-continue-rule,
.wc-block-components-express-payment-continue-rule--cart {
    margin: 16px 0 !important;
    font-family: var(--caldor-font-head) !important;
    color: var(--caldor-cocoa) !important;
    font-size: 13px !important;
    letter-spacing: 1px;
}

/* ============================================================
   VINTAGE RECEIPT -- cart items column
   ============================================================ */
/* Force Courier on EVERY text element inside the receipt column. */
.wp-block-woocommerce-cart .wc-block-cart__main,
.wp-block-woocommerce-cart .wc-block-cart__main *:not(button):not(input) {
    font-family: "Courier New", "Courier", monospace !important;
    letter-spacing: 0.3px;
}
.wp-block-woocommerce-cart .wc-block-cart__main {
    position: relative;
    background-color: #fdf6e3 !important;
    background-image:
        repeating-linear-gradient(transparent 0 27px, rgba(60,40,20,0.06) 27px 28px),
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='r'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch' seed='9'/><feColorMatrix values='0 0 0 0 0.45  0 0 0 0 0.30  0 0 0 0 0.12  0 0 0 0.10 0'/></filter><rect width='200' height='200' filter='url(%23r)'/></svg>") !important;
    padding: 28px 26px 18px !important;
    margin-bottom: 16px !important;
    box-shadow:
        0 1px 0 rgba(0,0,0,0.06),
        0 4px 14px rgba(60, 40, 20, 0.25);
    font-family: "Courier New", "Courier", monospace !important;
    color: #2a1810;
}
/* Top edge -- no zigzag, just clean. The bottom zigzag (where the
   receipt was torn off the printer) is enough. */
.wp-block-woocommerce-cart .wc-block-cart__main::before {
    content: none;
}

/* Hide the duplicate "Shopping Cart" title -- the page already shows
   "Cart" above the rainbow rule from the WC wrap, so the inner block
   title is redundant. */
.wp-block-woocommerce-cart .wc-block-components-title,
.wp-block-woocommerce-cart h2.wc-block-cart-items__header-product,
.wp-block-woocommerce-cart > h2:first-of-type { display: none !important; }
/* Bottom edge -- no zigzag. Clean receipt block. */
.wp-block-woocommerce-cart .wc-block-cart__main::after { content: none; }

/* Receipt header banner -- "CALDOR ★ REGISTER #4 ★ THANK YOU" */
.wp-block-woocommerce-cart .wc-block-cart__main > div:first-child::before,
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-items-block::before {
    content: "★  C A L D O R  ★  REGISTER #4  ★  THANK YOU  ★";
    display: block;
    text-align: center;
    font-family: "Courier New", monospace;
    font-weight: bold;
    font-size: 12px;
    letter-spacing: 1.5px;
    color: #2a1810;
    padding-bottom: 10px;
    margin-bottom: 6px;
    border-bottom: 2px dashed rgba(60, 40, 20, 0.6);
    text-transform: uppercase;
}

/* Make the items table read like a real thermal-printer receipt.
   No images, single column, line numbers, right-flush prices, tight rows. */
.wp-block-woocommerce-cart .wc-block-cart-items {
    background: transparent !important;
    border: 0 !important;
    counter-reset: caldor-line;
    width: 100% !important;
    table-layout: auto !important;
}
/* Drop the PRODUCT / TOTAL header -- the receipt header replaces it */
.wp-block-woocommerce-cart .wc-block-cart-items thead { display: none !important; }
.wp-block-woocommerce-cart .wc-block-cart-item__image { display: none !important; }

.wp-block-woocommerce-cart .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 28px 1fr auto !important;
    column-gap: 10px;
    background: transparent !important;
    border-bottom: 1px dashed rgba(60, 40, 20, 0.35) !important;
    padding: 8px 0 !important;
    counter-increment: caldor-line;
    align-items: start;
}
.wp-block-woocommerce-cart .wc-block-cart-items__row::before {
    content: counter(caldor-line, decimal-leading-zero);
    font-family: "Courier New", monospace !important;
    font-weight: bold !important;
    color: #2a1810 !important;
    font-size: 13px !important;
    grid-column: 1;
    line-height: 1.5;
}
.wp-block-woocommerce-cart .wc-block-cart-items__row:last-child {
    border-bottom: 0 !important;
}

.wp-block-woocommerce-cart .wc-block-cart-item__product {
    grid-column: 2 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    min-width: 0;
}
.wp-block-woocommerce-cart .wc-block-cart-item__total {
    grid-column: 3 !important;
    padding: 0 !important;
    text-align: right !important;
    font-family: "Courier New", monospace !important;
    color: #2a1810 !important;
    font-weight: bold !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    white-space: nowrap;
}

.wp-block-woocommerce-cart .wc-block-components-product-name {
    font-family: "Courier New", "Courier", monospace !important;
    color: #2a1810 !important;
    font-size: 13px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    text-decoration: none !important;
    text-shadow: none !important;
    display: block;
}
.wp-block-woocommerce-cart .wc-block-cart-item__prices,
.wp-block-woocommerce-cart .wc-block-cart-item__total-price,
.wp-block-woocommerce-cart .wc-block-components-product-price,
.wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-components-formatted-money-amount,
.wp-block-woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-price {
    font-family: "Courier New", "Courier", monospace !important;
    color: #2a1810 !important;
    font-weight: bold !important;
    font-size: 12px !important;
    text-shadow: none !important;
    letter-spacing: 0.3px;
}
.wp-block-woocommerce-cart .wc-block-components-product-metadata,
.wp-block-woocommerce-cart .wc-block-components-product-metadata__description,
.wp-block-woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-details {
    font-family: "Courier New", "Courier", monospace !important;
    color: #5a3a28 !important;
    font-size: 11px !important;
    margin-top: 2px;
    line-height: 1.35;
}
.wp-block-woocommerce-cart .wc-block-cart-item__sale-badge,
.wp-block-woocommerce-cart .wc-block-components-sale-badge {
    display: inline-block;
    background: transparent !important;
    color: #a82914 !important;
    border: 0 !important;
    padding: 0 !important;
    font-family: "Courier New", monospace !important;
    font-size: 11px !important;
    font-weight: bold !important;
    text-shadow: none !important;
    margin-top: 2px;
}
.wp-block-woocommerce-cart .wc-block-cart-item__sale-badge::before,
.wp-block-woocommerce-cart .wc-block-components-sale-badge::before {
    content: "[ ";
    color: #5a3a28;
}
.wp-block-woocommerce-cart .wc-block-cart-item__sale-badge::after,
.wp-block-woocommerce-cart .wc-block-components-sale-badge::after {
    content: " ]";
    color: #5a3a28;
}

/* Quantity selector & remove on receipt */
.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
    border: 1px solid rgba(60,40,20,0.5) !important;
    background: #fff !important;
    border-radius: 0 !important;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
    color: #a82914 !important;
    font-family: "Courier New", monospace !important;
    font-size: 11px !important;
}

/* Receipt footer line below items */
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-items-block::after {
    content: "- - - - - - - - - - - - - - - - - - - - - - - -";
    display: block;
    overflow: hidden;
    text-align: center;
    color: rgba(60, 40, 20, 0.5);
    font-family: "Courier New", monospace;
    font-size: 11px;
    letter-spacing: 2px;
    padding: 10px 0 4px;
}

/* On mobile the receipt sits comfortably without the heavy zigzag */
@media (max-width: 720px) {
    .wp-block-woocommerce-cart .wc-block-cart__main {
        padding: 22px 16px 14px !important;
    }
    .wp-block-woocommerce-cart .wc-block-cart__main::before,
    .wp-block-woocommerce-cart .wc-block-cart__main::after {
        background-size: 12px 8px;
    }
}
