:root {
    --st-primary: #2563eb;
    --st-primary-dark: #1d4ed8;
    --st-navy: #0f172a;
    --st-text: #1e293b;
    --st-muted: #64748b;
    --st-bg: #f8fafc;
    --st-white: #ffffff;
    --st-border: #e2e8f0;
    --st-soft: #eff6ff;
    --st-radius: 18px;
    --st-shadow: 0 12px 30px rgba(15, 23, 42, 0.07);
}

html { scroll-behavior: smooth; }
body.stampyop-store-theme {
    color: var(--st-text);
    background: var(--st-bg);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.stampyop-store-theme .site-content,
body.stampyop-store-theme .content-area,
body.stampyop-store-theme .site-main { min-width: 0; }

body.home.stampyop-store-theme .site-content {
    display: block;
    padding: 0;
    max-width: none;
}
body.home.stampyop-store-theme #primary { width: 100%; }
body.home.stampyop-store-theme .site-main { margin: 0; }
body.home.stampyop-store-theme .inside-article { padding: 0; }
body.home.stampyop-store-theme .widget-area { display: none; }

.stampyop-shell {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.site-header {
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(12px);
}
.site-header .inside-header {
    max-width: 1180px;
    padding-top: 16px;
    padding-bottom: 16px;
}
.site-branding .main-title a,
.site-logo a { color: var(--st-navy); }
.main-navigation {
    background: var(--st-white);
    border-bottom: 1px solid var(--st-border);
}
.main-navigation .main-nav ul li a {
    color: var(--st-text);
    font-weight: 600;
}
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li.current-menu-item > a {
    color: var(--st-primary);
    background: transparent;
}

.stampyop-hero {
    position: relative;
    overflow: hidden;
    padding: 88px 0 72px;
    background:
        radial-gradient(circle at 90% 20%, rgba(37, 99, 235, 0.14), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.stampyop-hero-grid {
    display: grid;
    grid-template-columns: 1.08fr 0.92fr;
    gap: 64px;
    align-items: center;
}
.stampyop-eyebrow,
.stampyop-kicker {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--st-primary);
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.14em;
}
.stampyop-hero h1 {
    margin: 0;
    max-width: 760px;
    color: var(--st-navy);
    font-size: clamp(42px, 6vw, 72px);
    line-height: 1.02;
    letter-spacing: -0.04em;
}
.stampyop-hero-copy > p {
    max-width: 650px;
    margin: 24px 0 0;
    color: var(--st-muted);
    font-size: 19px;
    line-height: 1.7;
}
.stampyop-hero-actions,
.stampyop-contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}
.stampyop-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    padding: 0 20px;
    font-size: 15px;
    font-weight: 750;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.stampyop-button:hover { transform: translateY(-1px); }
.stampyop-button-primary {
    color: #fff;
    background: var(--st-primary);
    box-shadow: 0 10px 24px rgba(37, 99, 235, .22);
}
.stampyop-button-primary:hover { background: var(--st-primary-dark); color: #fff; }
.stampyop-button-secondary {
    color: var(--st-primary);
    background: #fff;
    border: 1px solid #bfdbfe;
}
.stampyop-button-secondary:hover { color: var(--st-primary-dark); }

.stampyop-hero-visual {
    position: relative;
    min-height: 410px;
    border-radius: 34px;
    background: linear-gradient(145deg, #eef5ff 0%, #ffffff 70%);
    border: 1px solid #dbeafe;
    box-shadow: var(--st-shadow);
}
.stampyop-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(1px);
}
.stampyop-orb-one { width: 180px; height: 180px; background: #dbeafe; top: 36px; right: 32px; }
.stampyop-orb-two { width: 110px; height: 110px; background: #bfdbfe; bottom: 28px; left: 36px; }
.stampyop-hero-logo {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    width: 124px;
    height: 124px;
    display: grid;
    place-items: center;
    border-radius: 30px;
    color: #fff;
    background: linear-gradient(135deg, #2563eb, #60a5fa);
    font-size: 62px;
    font-weight: 900;
    box-shadow: 0 24px 48px rgba(37, 99, 235, .25);
}
.stampyop-hero-card {
    position: absolute;
    width: 180px;
    border: 1px solid var(--st-border);
    border-radius: 18px;
    padding: 18px;
    background: rgba(255,255,255,.94);
    box-shadow: var(--st-shadow);
}
.stampyop-hero-card span { display: block; color: var(--st-muted); font-size: 13px; }
.stampyop-hero-card strong { display: block; margin-top: 4px; color: var(--st-navy); }
.stampyop-hero-card-a { top: 52px; left: 30px; }
.stampyop-hero-card-b { right: 28px; bottom: 48px; }

.stampyop-trust-strip {
    margin-top: -24px;
    position: relative;
    z-index: 5;
}
.stampyop-trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.stampyop-trust-item {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 22px;
    background: #fff;
    border: 1px solid var(--st-border);
    border-radius: 16px;
    box-shadow: 0 8px 20px rgba(15,23,42,.05);
}
.stampyop-trust-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--st-primary);
    background: var(--st-soft);
    font-weight: 900;
}
.stampyop-trust-item h3 { margin: 1px 0 5px; color: var(--st-navy); font-size: 15px; }
.stampyop-trust-item p { margin: 0; color: var(--st-muted); font-size: 13px; line-height: 1.5; }

.stampyop-section { padding: 92px 0; }
.stampyop-section-heading { margin-bottom: 34px; }
.stampyop-section-heading h2,
.stampyop-about-section h2,
.stampyop-contact-section h2 {
    margin: 0;
    color: var(--st-navy);
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.08;
    letter-spacing: -0.03em;
}
.stampyop-section-heading p {
    max-width: 650px;
    margin: 12px 0 0;
    color: var(--st-muted);
    font-size: 16px;
    line-height: 1.7;
}
.stampyop-heading-row {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: flex-end;
}
.stampyop-text-link { color: var(--st-primary); font-weight: 750; text-decoration: none; }
.stampyop-text-link:hover { color: var(--st-primary-dark); }

.stampyop-products-section { background: #f8fafc; }
.stampyop-product-search {
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 660px;
    margin: 0 auto 38px;
    padding: 0 18px;
    min-height: 54px;
    background: #fff;
    border: 1px solid var(--st-border);
    border-radius: 999px;
    box-shadow: 0 8px 20px rgba(15,23,42,.04);
}
.stampyop-product-search span { color: var(--st-primary); font-size: 24px; line-height: 1; }
.stampyop-product-search input[type="search"] {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--st-text);
    font-size: 15px;
}

/* WooCommerce cards */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
    margin: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
    display: flex;
    flex-direction: column;
    padding: 14px;
    background: #fff;
    border: 1px solid var(--st-border);
    border-radius: var(--st-radius);
    box-shadow: 0 8px 20px rgba(15,23,42,.04);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-3px);
    border-color: #bfdbfe;
    box-shadow: var(--st-shadow);
}
.woocommerce ul.products li.product a img {
    aspect-ratio: 1.35 / 1;
    object-fit: contain;
    padding: 18px;
    margin: 0 0 12px;
    border-radius: 14px;
    background: #f8fafc;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 48px;
    margin: 0;
    padding: 2px 4px 0;
    color: var(--st-navy);
    font-size: 16px;
    line-height: 1.45;
    font-weight: 800;
}
.woocommerce ul.products li.product .star-rating {
    margin: 8px 4px 4px;
    color: #f59e0b;
}
.stampyop-card-meta {
    min-height: 20px;
    margin: 0 4px 10px;
    color: var(--st-muted);
    font-size: 12px;
}
.stampyop-option-label {
    margin: 2px 4px 7px;
    color: var(--st-muted);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.stampyop-option-group {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 4px 10px;
}
.stampyop-option-button,
.stampyop-single-option-button {
    min-height: 31px;
    padding: 5px 10px;
    border: 1px solid var(--st-border);
    border-radius: 8px;
    color: var(--st-text);
    background: #fff;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 750;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, color .15s ease, transform .15s ease;
}
.stampyop-option-button:hover,
.stampyop-single-option-button:hover {
    border-color: #93c5fd;
    transform: translateY(-1px);
}
.stampyop-option-button.is-active,
.stampyop-single-option-button.is-active {
    border-color: var(--st-primary);
    color: #fff;
    background: var(--st-primary);
}
.stampyop-option-button[disabled],
.stampyop-single-option-button[disabled] {
    opacity: .35;
    cursor: not-allowed;
    transform: none;
}
.stampyop-duration-wrap[hidden],
.stampyop-option-button[hidden],
.stampyop-single-option-button[hidden] { display: none !important; }
.stampyop-card-price {
    margin: auto 4px 12px;
    padding: 12px 12px 10px;
    border: 1px solid var(--st-border);
    border-radius: 11px;
    background: #f8fafc;
}
.stampyop-price-caption {
    display: block;
    margin-bottom: 3px;
    color: var(--st-muted);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.stampyop-price-value {
    display: block;
    color: var(--st-navy);
    font-size: 20px;
    line-height: 1.15;
    font-weight: 850;
}
.stampyop-price-value .woocommerce-Price-amount { color: inherit; }

.stampyop-account-badge {
    margin: 0 4px 10px;
    padding: 8px 10px;
    text-align: center;
    border: 1px solid #dbeafe;
    border-radius: 10px;
    color: var(--st-primary);
    background: #f8fbff;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .04em;
}
.stampyop-duration-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 4px 12px;
}
.stampyop-duration-list span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 9px;
    border-radius: 8px;
    color: var(--st-text);
    background: #fff;
    border: 1px solid var(--st-border);
    font-size: 11px;
    font-weight: 700;
}
.woocommerce ul.products li.product .button.stampyop-details-button {
    width: calc(100% - 8px);
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 4px 2px;
    padding: 0 14px;
    border-radius: 11px;
    color: #fff;
    background: var(--st-primary);
    font-size: 14px;
    font-weight: 800;
    text-align: center;
}
.woocommerce ul.products li.product .button.stampyop-details-button:hover { background: var(--st-primary-dark); }

.stampyop-about-section { background: #fff; }
.stampyop-about-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 90px;
}
.stampyop-large-copy {
    margin: 0 0 28px;
    color: var(--st-text);
    font-size: 22px;
    line-height: 1.7;
}
.stampyop-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
.stampyop-mini-grid > div {
    padding: 20px;
    border: 1px solid var(--st-border);
    border-radius: 14px;
    background: var(--st-bg);
}
.stampyop-mini-grid strong { display: block; color: var(--st-navy); margin-bottom: 6px; }
.stampyop-mini-grid span { color: var(--st-muted); font-size: 14px; line-height: 1.55; }

.stampyop-reviews-section { background: #f8fafc; }
.stampyop-review-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.stampyop-review-card {
    padding: 28px;
    background: #fff;
    border: 1px solid var(--st-border);
    border-radius: var(--st-radius);
    box-shadow: 0 8px 20px rgba(15,23,42,.04);
}
.stampyop-stars { color: #f59e0b; letter-spacing: .08em; }
.stampyop-review-card p,
.stampyop-review-text { color: var(--st-text); font-size: 16px; line-height: 1.7; }
.stampyop-review-card strong { display: block; color: var(--st-navy); }
.stampyop-review-card > span { color: var(--st-muted); font-size: 12px; }

.stampyop-blog-section { background: #fff; }
.stampyop-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
.stampyop-blog-card {
    overflow: hidden;
    border: 1px solid var(--st-border);
    border-radius: var(--st-radius);
    background: #fff;
}
.stampyop-blog-thumb { display: block; aspect-ratio: 1.6 / 1; overflow: hidden; background: #eff6ff; }
.stampyop-blog-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.stampyop-blog-card:hover .stampyop-blog-thumb img { transform: scale(1.03); }
.stampyop-thumb-placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: var(--st-primary); font-weight: 900; font-size: 30px; }
.stampyop-blog-card-content { padding: 22px; }
.stampyop-blog-date { color: var(--st-muted); font-size: 12px; }
.stampyop-blog-card h3 { margin: 8px 0; font-size: 20px; line-height: 1.35; }
.stampyop-blog-card h3 a { color: var(--st-navy); text-decoration: none; }
.stampyop-blog-card p { color: var(--st-muted); font-size: 14px; line-height: 1.65; }

.stampyop-faq-section { background: #f8fafc; }
.stampyop-faq-layout {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 70px;
}
.stampyop-faq-list { display: grid; gap: 10px; }
.stampyop-faq-item {
    overflow: hidden;
    border: 1px solid var(--st-border);
    border-radius: 14px;
    background: #fff;
}
.stampyop-faq-item summary {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px;
    cursor: pointer;
    list-style: none;
    color: var(--st-navy);
    font-weight: 800;
}
.stampyop-faq-item summary::-webkit-details-marker { display: none; }
.stampyop-faq-item summary span { color: var(--st-primary); font-size: 20px; }
.stampyop-faq-item[open] summary span { transform: rotate(45deg); }
.stampyop-faq-item > div { padding: 0 20px 18px; color: var(--st-muted); line-height: 1.7; }
.stampyop-faq-item > div p:last-child { margin-bottom: 0; }

.stampyop-contact-section { padding: 72px 0 92px; background: #f8fafc; }
.stampyop-contact-box {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 40px;
    align-items: center;
    padding: 44px;
    border-radius: 24px;
    color: #fff;
    background: linear-gradient(135deg, #0f172a, #1e3a8a);
    box-shadow: 0 20px 50px rgba(15,23,42,.14);
}
.stampyop-contact-box .stampyop-kicker { color: #93c5fd; }
.stampyop-contact-box h2 { color: #fff; }
.stampyop-contact-box p { max-width: 680px; margin: 12px 0 0; color: #cbd5e1; line-height: 1.7; }
.stampyop-contact-actions { margin-top: 0; justify-content: flex-end; }
.stampyop-button-light { color: var(--st-navy); background: #fff; }
.stampyop-contact-placeholder { display: block; max-width: 360px; color: #cbd5e1; font-size: 13px; }

/* Variable product selectors on the product detail page */
.woocommerce div.product form.cart .variations select.stampyop-native-variation-select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.woocommerce div.product form.cart .variations tr[hidden] { display: none !important; }
.woocommerce div.product form.cart .variations th.label {
    padding-top: 12px;
    vertical-align: top;
    color: var(--st-navy);
    font-size: 13px;
}
.woocommerce div.product form.cart .variations td.value { padding-bottom: 12px; }
.stampyop-single-option-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 2px 0 4px;
}
.stampyop-single-option-button {
    min-height: 38px;
    padding: 7px 13px;
    font-size: 13px;
}
.woocommerce div.product .single_variation_wrap .woocommerce-variation-price {
    margin: 10px 0 16px;
    padding: 12px 14px;
    border: 1px solid var(--st-border);
    border-radius: 10px;
    background: #f8fafc;
}

/* WooCommerce core pages */
.woocommerce .woocommerce-breadcrumb { color: var(--st-muted); }
.woocommerce div.product,
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main {
    background: #fff;
    border-radius: var(--st-radius);
}
.woocommerce div.product .product_title { color: var(--st-navy); }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--st-primary); }
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
    background: var(--st-primary);
    border-radius: 10px;
}
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover { background: var(--st-primary-dark); }

.site-footer,
.site-info { background: var(--st-navy); color: #cbd5e1; }
.site-info a { color: #fff; }

@media (max-width: 1024px) {
    .stampyop-hero-grid,
    .stampyop-about-grid,
    .stampyop-faq-layout { grid-template-columns: 1fr; gap: 44px; }
    .stampyop-hero-visual { min-height: 340px; }
    .stampyop-trust-grid { grid-template-columns: repeat(2, 1fr); }
    .woocommerce ul.products,
    .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .stampyop-review-grid,
    .stampyop-blog-grid { grid-template-columns: repeat(2, 1fr); }
    .stampyop-contact-box { grid-template-columns: 1fr; }
    .stampyop-contact-actions { justify-content: flex-start; }
}

@media (max-width: 680px) {
    .stampyop-shell { width: min(100% - 24px, 1180px); }
    .stampyop-hero { padding: 58px 0 54px; }
    .stampyop-hero h1 { font-size: 42px; }
    .stampyop-hero-copy > p { font-size: 17px; }
    .stampyop-hero-visual { min-height: 300px; }
    .stampyop-hero-card { width: 150px; padding: 14px; }
    .stampyop-hero-card-a { top: 24px; left: 18px; }
    .stampyop-hero-card-b { right: 16px; bottom: 28px; }
    .stampyop-hero-logo { width: 98px; height: 98px; border-radius: 24px; font-size: 48px; }
    .stampyop-trust-strip { margin-top: -10px; }
    .stampyop-trust-grid,
    .stampyop-mini-grid,
    .stampyop-review-grid,
    .stampyop-blog-grid { grid-template-columns: 1fr; }
    .stampyop-section { padding: 68px 0; }
    .stampyop-heading-row { align-items: flex-start; flex-direction: column; }
    .woocommerce ul.products,
    .woocommerce-page ul.products { grid-template-columns: 1fr; gap: 16px; }
    .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 0; }
    .stampyop-contact-box { padding: 28px; border-radius: 20px; }
}

/* v0.4 simple Shared/Personal product option system */
.stampyop-simple-picker { margin-top: 2px; }
.stampyop-simple-picker-card .stampyop-account-options .stampyop-option-button {
    flex: 1 1 calc(50% - 4px);
    text-align: center;
}
.stampyop-simple-picker-single {
    margin: 18px 0 20px;
    padding: 18px;
    border: 1px solid var(--st-border);
    border-radius: 14px;
    background: #f8fafc;
}
.stampyop-picker-heading {
    margin: 0 0 16px;
    color: var(--st-navy);
    font-size: 18px;
}
.stampyop-simple-picker-single .stampyop-option-label { margin-left: 0; }
.stampyop-simple-picker-single .stampyop-option-group { margin-left: 0; margin-right: 0; }
.stampyop-simple-picker-single .stampyop-card-price { margin: 14px 0 0; background: #fff; }
.woocommerce div.product form.cart button.single_add_to_cart_button.stampyop-awaiting-option,
.woocommerce div.product form.cart button.single_add_to_cart_button:disabled {
    opacity: .5;
    cursor: not-allowed;
}
.stampyop-base-price-label {
    color: var(--st-muted);
    font-size: .72em;
    font-weight: 600;
}


/* v0.5 clean WooCommerce product page */
.single-product .site-content {
    display: block !important;
}
.single-product #primary,
.single-product .content-area {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
}
.single-product #right-sidebar,
.single-product #left-sidebar,
.single-product .widget-area,
.single-product .sidebar {
    display: none !important;
}
.single-product .site-main {
    max-width: 1180px;
    margin: 0 auto;
    padding: 34px 24px 72px;
}
.single-product div.product {
    padding: 30px;
    border: 1px solid var(--st-border);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .05);
}
.single-product div.product .summary {
    padding: 10px 8px;
}
.single-product div.product .product_title {
    margin-bottom: 14px;
    font-size: clamp(30px, 3vw, 44px);
    line-height: 1.08;
}
.single-product div.product .woocommerce-product-details__short-description {
    color: var(--st-muted);
    line-height: 1.7;
}
.single-product .stampyop-simple-picker-single {
    margin-top: 22px;
}
.stampyop-product-details-panel {
    margin-top: 24px;
    padding: 22px;
    border: 1px solid var(--st-border);
    border-radius: 14px;
    background: #fff;
}
.stampyop-product-details-panel h3 {
    margin: 0 0 12px;
    color: var(--st-navy);
    font-size: 20px;
}
.stampyop-product-details-copy,
.stampyop-product-details-copy p {
    color: var(--st-text);
    line-height: 1.75;
}
.stampyop-product-details-copy p:last-child {
    margin-bottom: 0;
}

@media (max-width: 768px) {
    .single-product .site-main {
        padding: 18px 12px 48px;
    }
    .single-product div.product {
        padding: 16px;
        border-radius: 14px;
    }
    .single-product div.product .summary {
        padding: 4px 0 0;
    }
}


/* v0.6: stable, distraction-free single product layout */
.single-product .site-content,
.single-product .container.grid-container,
.single-product .site.grid-container {
    max-width: none !important;
}
.single-product .site-content {
    display: block !important;
    padding: 0 !important;
}
.single-product #primary,
.single-product .content-area,
.single-product .site-main {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
}
.single-product .site-main {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 42px 24px 80px !important;
}
.single-product .woocommerce-breadcrumb {
    margin: 0 0 22px !important;
    color: var(--st-muted);
}
.single-product div.product.type-product {
    display: grid !important;
    grid-template-columns: minmax(0, .95fr) minmax(360px, 1.05fr);
    gap: 56px;
    align-items: start;
    width: 100% !important;
    margin: 0 !important;
    padding: 34px !important;
    overflow: visible !important;
    border: 1px solid var(--st-border);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .05);
}
.single-product div.product.type-product::before,
.single-product div.product.type-product::after {
    display: none !important;
    content: none !important;
}
.single-product div.product div.images,
.single-product div.product div.summary {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}
.single-product div.product div.images {
    position: relative;
    align-self: start;
}
.single-product div.product div.images .woocommerce-product-gallery__wrapper {
    margin: 0 !important;
}
.single-product div.product div.images img {
    display: block;
    width: 100% !important;
    max-width: 520px;
    max-height: 520px;
    margin: 0 auto !important;
    padding: 28px;
    object-fit: contain;
    border-radius: 20px;
    background: #f8fafc;
}
/* The Woo zoom/search trigger was stretching under GeneratePress; the store does not need it. */
.single-product .woocommerce-product-gallery__trigger,
.single-product .flex-control-thumbs {
    display: none !important;
}
.single-product div.product .summary {
    padding: 4px 0 0 !important;
}
.single-product div.product .product_title {
    margin: 0 0 18px !important;
    color: var(--st-navy);
    font-size: clamp(34px, 4vw, 50px);
    line-height: 1.06;
    letter-spacing: -.035em;
}
.single-product .stampyop-simple-picker-single {
    margin: 0 0 18px;
    padding: 22px;
    border-radius: 16px;
    background: #f8fafc;
}
.single-product .stampyop-simple-picker-single .stampyop-option-button {
    min-height: 40px;
    padding: 8px 14px;
    font-size: 14px;
}
.single-product .stampyop-simple-picker-single .stampyop-duration-wrap:not([hidden]) {
    margin-top: 14px;
}
.single-product .stampyop-simple-picker-single .stampyop-card-price {
    min-height: 72px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 16px;
    padding: 14px 16px;
}
.single-product .stampyop-price-placeholder {
    color: var(--st-muted);
    font-size: 18px;
    font-weight: 700;
}
.single-product form.cart {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 0 !important;
}
.single-product form.cart .stampyop-simple-picker-single {
    flex: 0 0 100%;
}
.single-product form.cart .quantity .qty {
    min-height: 46px;
    border-radius: 10px;
}
.single-product form.cart .single_add_to_cart_button {
    min-height: 46px;
    border-radius: 10px;
    padding: 0 22px !important;
    background: var(--st-primary) !important;
}
.single-product .stampyop-product-details-panel {
    margin-top: 24px;
}
.single-product #right-sidebar,
.single-product #left-sidebar,
.single-product .widget-area,
.single-product .sidebar {
    display: none !important;
}
.single-product .site-footer,
.single-product footer.site-info {
    clear: both !important;
    position: relative !important;
    z-index: 1;
}
@media (max-width: 850px) {
    .single-product .site-main { padding: 24px 14px 58px !important; }
    .single-product div.product.type-product {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 18px !important;
    }
    .single-product div.product div.images img {
        max-height: 430px;
        padding: 20px;
    }
    .single-product div.product .product_title { font-size: 34px; }
}


/* v0.7: exact-price plan UX and full-width product details */
.stampyop-simple-picker .stampyop-card-price {
    margin-top: 12px;
}
.stampyop-simple-picker-card .stampyop-card-price {
    background: #f8fafc;
}
.single-product .woocommerce-breadcrumb {
    display: none !important;
}
.single-product div.product.type-product .stampyop-product-details-panel {
    grid-column: 1 / -1;
    width: 100%;
    margin: 12px 0 0;
    padding: 26px 0 0;
    border: 0;
    border-top: 1px solid var(--st-border);
    border-radius: 0;
    background: transparent;
}
.single-product .stampyop-product-details-panel h3 {
    margin-bottom: 14px;
    font-size: 24px;
}
.single-product .stampyop-product-details-copy {
    max-width: 900px;
    font-size: 16px;
    line-height: 1.8;
}
.single-product form.cart .quantity {
    display: none !important;
}
.single-product form.cart .single_add_to_cart_button {
    width: 100%;
    min-height: 50px;
    font-weight: 700;
}
@media (max-width: 850px) {
    .single-product div.product.type-product .stampyop-product-details-panel {
        padding-top: 22px;
    }
}

/* v0.9 shop search — isolated to WooCommerce catalog archives. */
.woocommerce-shop .stampyop-shop-search,
.tax-product_cat .stampyop-shop-search,
.tax-product_tag .stampyop-shop-search {
    position: relative;
    width: min(100%, 680px);
    margin: 8px 0 24px;
}

.stampyop-shop-search-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--st-primary);
    font-size: 20px;
    line-height: 1;
    pointer-events: none;
}

.woocommerce .stampyop-shop-search-input,
.woocommerce-page .stampyop-shop-search-input {
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 10px 18px 10px 46px;
    border: 1px solid var(--st-border);
    border-radius: 14px;
    outline: 0;
    color: var(--st-text);
    background: #fff;
    box-shadow: 0 8px 28px rgba(15, 23, 42, .05);
    font-size: 15px;
}

.woocommerce .stampyop-shop-search-input:focus,
.woocommerce-page .stampyop-shop-search-input:focus {
    border-color: #93b4ff;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .10), 0 8px 28px rgba(15, 23, 42, .05);
}

.stampyop-shop-search-empty {
    margin: 0 0 20px;
    color: var(--st-muted);
    font-size: 14px;
}

/* The search owns a row; keep WooCommerce's result count below it without float conflicts. */
.woocommerce-shop .woocommerce-result-count,
.tax-product_cat .woocommerce-result-count,
.tax-product_tag .woocommerce-result-count {
    float: none;
    margin: 0 0 26px;
}

@media (max-width: 640px) {
    .woocommerce-shop .stampyop-shop-search,
    .tax-product_cat .stampyop-shop-search,
    .tax-product_tag .stampyop-shop-search {
        width: 100%;
        margin-bottom: 18px;
    }
}

/* v1.0 live autocomplete — shared by homepage and Products page. */
.stampyop-product-search,
.stampyop-shop-search.stampyop-live-search {
    position: relative;
    overflow: visible;
    z-index: 30;
}

.stampyop-search-dropdown {
    position: absolute;
    z-index: 9999;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    overflow: hidden;
    border: 1px solid var(--st-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .16);
    text-align: left;
}
.stampyop-search-dropdown[hidden] { display: none !important; }

.stampyop-search-results {
    padding: 6px;
}

.stampyop-search-result {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto 18px;
    gap: 12px;
    align-items: center;
    min-height: 66px;
    padding: 8px 10px;
    border-radius: 11px;
    color: var(--st-text);
    text-decoration: none;
    transition: background .14s ease, transform .14s ease;
}
.stampyop-search-result:hover,
.stampyop-search-result.is-active {
    color: var(--st-text);
    background: #f4f7ff;
}
.stampyop-search-result:focus-visible {
    outline: 2px solid var(--st-primary);
    outline-offset: -2px;
}

.stampyop-search-thumb {
    width: 52px;
    height: 52px;
    object-fit: contain;
    border-radius: 10px;
    background: #f8fafc;
}
.stampyop-search-result-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}
.stampyop-search-result-copy strong {
    overflow: hidden;
    color: var(--st-navy);
    font-size: 14px;
    line-height: 1.35;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.stampyop-search-meta {
    overflow: hidden;
    color: var(--st-muted);
    font-size: 12px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.stampyop-search-price {
    color: var(--st-navy);
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}
.stampyop-search-arrow {
    color: #94a3b8;
    font-size: 16px;
}

.stampyop-search-view-all {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 16px;
    border-top: 1px solid var(--st-border);
    color: var(--st-primary);
    background: #fbfdff;
    font-size: 13px;
    font-weight: 750;
    text-decoration: none;
}
.stampyop-search-view-all:hover {
    color: var(--st-primary-dark);
    background: #f4f7ff;
}

.stampyop-search-state {
    display: flex;
    min-height: 66px;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    color: var(--st-muted);
    font-size: 13px;
}
.stampyop-search-state strong {
    color: var(--st-navy);
    font-size: 13px;
}
.stampyop-search-state span:not(.stampyop-search-spinner) {
    margin-left: 2px;
}
.stampyop-search-spinner {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    border: 2px solid #dbeafe;
    border-top-color: var(--st-primary);
    border-radius: 999px;
    animation: stampyop-search-spin .65s linear infinite;
}
@keyframes stampyop-search-spin { to { transform: rotate(360deg); } }

@media (max-width: 560px) {
    .stampyop-search-result {
        grid-template-columns: 46px minmax(0, 1fr) auto;
        gap: 9px;
        min-height: 60px;
        padding: 7px 8px;
    }
    .stampyop-search-thumb { width: 46px; height: 46px; }
    .stampyop-search-arrow { display: none; }
    .stampyop-search-price { font-size: 12px; }
    .stampyop-search-result-copy strong { font-size: 13px; }
}

/* Review carousel (v1.2) */
.stampyop-review-carousel-wrap{position:relative}
.stampyop-review-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,calc((100% - 40px)/3));gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 12px;scrollbar-width:none}
.stampyop-review-carousel::-webkit-scrollbar{display:none}
.stampyop-review-carousel .stampyop-review-card{scroll-snap-align:start;height:100%}
.stampyop-review-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.stampyop-review-source{display:inline-flex;align-items:center;border:1px solid var(--st-border);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;color:var(--st-muted);background:#fff}
.stampyop-review-card small{display:block;color:var(--st-muted);font-size:11px;margin-top:8px}
.stampyop-review-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:38px;height:38px;border:1px solid var(--st-border);border-radius:999px;background:#fff;color:var(--st-navy);font-size:26px;line-height:1;cursor:pointer;box-shadow:0 8px 24px rgba(15,23,42,.12)}
.stampyop-review-prev{left:-18px}.stampyop-review-next{right:-18px}
@media(max-width:900px){.stampyop-review-carousel{grid-auto-columns:minmax(280px,calc((100% - 20px)/2))}}
@media(max-width:640px){.stampyop-review-carousel{grid-auto-columns:88%}.stampyop-review-nav{display:none}}

/* Review highlights (v1.3) - homepage only */
.stampyop-review-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.stampyop-review-highlights .stampyop-review-card{min-width:0}
.stampyop-review-verified{font-size:11px;font-weight:800;color:var(--st-muted);text-transform:uppercase;letter-spacing:.06em}
.stampyop-review-cta{display:flex;justify-content:center;margin-top:22px}
@media(max-width:900px){.stampyop-review-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.stampyop-review-highlights{grid-template-columns:1fr}.stampyop-review-highlights .stampyop-review-card:nth-child(n+3){display:none}}


/* v1.4 regression-safe homepage review polish */
.stampyop-review-highlights .stampyop-review-card{display:flex;flex-direction:column;min-height:260px}
.stampyop-review-highlights .stampyop-review-text{flex:1}
.stampyop-review-highlights .stampyop-review-text p{margin-top:0}
.stampyop-review-highlights .stampyop-review-card strong{margin-top:14px}
.stampyop-contact-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
@media(max-width:640px){.stampyop-review-highlights .stampyop-review-card{min-height:0}}

/* StampyOP v1.5 visual polish */
.site-branding .main-title a {
    font-size: 28px;
    font-weight: 850;
    letter-spacing: -0.04em;
}

.main-navigation .main-nav ul li a {
    padding-left: 18px;
    padding-right: 18px;
    font-size: 15px;
}

.stampyop-hero {
    padding-top: 96px;
    padding-bottom: 88px;
}

.stampyop-hero h1 {
    font-weight: 850;
}

.stampyop-hero-copy > p {
    max-width: 560px;
}

.stampyop-products-section .products {
    gap: 24px;
}

.stampyop-products-section .product {
    background: #fff;
    border: 1px solid var(--st-border);
    border-radius: 22px;
    padding: 16px;
    box-shadow: 0 10px 25px rgba(15,23,42,.05);
    transition: transform .2s ease, box-shadow .2s ease;
}

.stampyop-products-section .product:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 35px rgba(15,23,42,.10);
}

.stampyop-products-section .product img {
    border-radius: 16px;
    background: #f8fafc;
}

.stampyop-products-section .product .woocommerce-loop-product__title {
    color: var(--st-navy);
    font-size: 18px;
    font-weight: 800;
}

.stampyop-products-section .product .price {
    color: var(--st-navy);
    font-size: 20px;
    font-weight: 850;
}

.stampyop-products-section .product .button {
    width: 100%;
    border-radius: 12px;
    background: var(--st-primary);
    color: #fff;
    font-weight: 750;
}

@media (max-width: 768px) {
    .stampyop-hero {
        padding-top: 60px;
        padding-bottom: 55px;
    }

    .site-branding .main-title a {
        font-size: 24px;
    }
}

/* v1.6 homepage polish */
.stampyop-hero h1{letter-spacing:-0.03em;}
.stampyop-hero-actions .stampyop-button-secondary{display:none;}
.stampyop-home-products .product{border-radius:20px!important;overflow:hidden;}

/* v1.7 header and trust polish */
.site-header .site-logo img { max-height: 48px; width: auto; }
.site-header .main-title a { font-size: 30px; font-weight: 800; letter-spacing: -0.03em; }
.main-navigation .main-nav ul li a { padding-left: 18px; padding-right: 18px; }
.stampyop-hero { padding-top: 76px; padding-bottom: 62px; }
.stampyop-hero h1 { font-size: clamp(38px, 5vw, 64px); }
.stampyop-hero-copy > p { font-size: 17px; max-width: 560px; }
.stampyop-trust-item { min-height: 118px; }
.stampyop-trust-item h3 { font-size: 16px; }
@media (max-width: 768px) {
 .site-header .inside-header { padding-top: 12px; padding-bottom: 12px; }
 .stampyop-hero { padding-top: 50px; }
 .stampyop-hero h1 { font-size: 38px; }
}


/* v1.8 polish */
.site-branding .main-title a,
.site-logo a {
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.main-navigation .main-nav ul li a {
    padding-left: 18px;
    padding-right: 18px;
    font-size: 15px;
}

.stampyop-trust-item {
    min-height: 150px;
    align-items: flex-start;
}

.stampyop-trust-item h3 {
    margin-top: 0;
    margin-bottom: 8px;
    color: var(--st-navy);
    font-size: 18px;
}

.stampyop-trust-item p {
    margin: 0;
    color: var(--st-muted);
    line-height: 1.5;
}

.stampyop-hero h1 {
    max-width: 620px;
}

@media (max-width: 768px) {
    .site-branding .main-title a,
    .site-logo a {
        font-size: 24px;
    }

    .stampyop-trust-item {
        min-height: auto;
    }
}


/* v1.9 marketplace polish */
.stampyop-home-products .products {
    gap: 28px;
}
.stampyop-home-products .product {
    display:flex;
    flex-direction:column;
    background:#fff;
    border:1px solid var(--st-border);
    border-radius:20px;
    padding:18px;
    min-height:520px;
    box-shadow:0 8px 24px rgba(15,23,42,.05);
}
.stampyop-home-products .product .woocommerce-loop-product__link{
    display:flex;
    flex-direction:column;
    flex:1;
}
.stampyop-home-products .product img{
    height:180px!important;
    width:100%!important;
    object-fit:contain!important;
    margin-bottom:18px!important;
}
.stampyop-home-products .product .woocommerce-loop-product__title{
    min-height:52px;
    font-size:20px!important;
    line-height:1.3;
    color:var(--st-navy);
}
.stampyop-home-products .product .price{
    margin-top:auto;
    min-height:42px;
    display:flex;
    align-items:center;
    font-size:18px!important;
    font-weight:700;
}
.stampyop-home-products .product .button{
    width:100%;
    text-align:center;
    border-radius:12px!important;
    margin-top:14px!important;
    background:var(--st-primary)!important;
    color:#fff!important;
    padding:12px 18px!important;
}
.stampyop-home-products .product .button:hover{
    background:var(--st-primary-dark)!important;
}
.stampyop-text-link{
    font-weight:700;
    border:1px solid var(--st-border);
    padding:10px 18px;
    border-radius:12px;
    background:#fff;
}
.main-navigation .main-nav ul li a{
    padding-left:16px;
    padding-right:16px;
}
@media(max-width:768px){
 .stampyop-home-products .product{min-height:0;}
 .stampyop-home-products .product img{height:140px!important;}
}

/* v2.0 marketplace/header alignment */

/* Header: keep the requested menu, remove visited-link colour noise, and make
   Contact Us the single action button. The current bird image is temporarily
   replaced visually by the clean StampyOP wordmark until the final logo exists. */
.site-header .site-logo img {
    display: none !important;
}
.site-header .site-logo a {
    display: inline-flex !important;
    align-items: center;
    min-height: 42px;
    text-decoration: none !important;
}
.site-header .site-logo a::after {
    content: "StampyOP";
    color: var(--st-navy);
    font-size: 27px;
    line-height: 1;
    font-weight: 850;
    letter-spacing: -0.035em;
}
.site-header .inside-header {
    max-width: 1180px;
    min-height: 70px;
    padding-top: 10px;
    padding-bottom: 10px;
}
.main-navigation,
.main-navigation .inside-navigation {
    background: #fff !important;
}
.main-navigation {
    border-bottom: 1px solid var(--st-border);
}
.main-navigation .main-nav ul {
    align-items: center;
    gap: 2px;
}
.main-navigation .main-nav ul li a,
.main-navigation .main-nav ul li a:visited {
    position: relative;
    padding: 12px 14px !important;
    color: #172033 !important;
    background: transparent !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    border-radius: 10px;
    text-decoration: none !important;
    transition: color .16s ease, background .16s ease, transform .16s ease;
}
.main-navigation .main-nav ul li:not(.current-menu-item) a:not(.stampyop-contact-nav):hover {
    color: var(--st-primary) !important;
    background: #f3f7ff !important;
}
.main-navigation .main-nav ul li.current-menu-item > a:not(.stampyop-contact-nav),
.main-navigation .main-nav ul li.current_page_item > a:not(.stampyop-contact-nav) {
    color: var(--st-primary) !important;
    background: #eff6ff !important;
}
.main-navigation .main-nav ul li a.stampyop-contact-nav,
.main-navigation .main-nav ul li a.stampyop-contact-nav:visited {
    margin-left: 8px;
    padding: 11px 18px !important;
    color: #fff !important;
    background: var(--st-primary) !important;
    border: 1px solid var(--st-primary) !important;
    border-radius: 999px;
    box-shadow: 0 8px 18px rgba(37,99,235,.18);
}
.main-navigation .main-nav ul li a.stampyop-contact-nav:hover {
    color: #fff !important;
    background: var(--st-primary-dark) !important;
    transform: translateY(-1px);
}

/* Hero: the primary action now tells customers exactly what happens and scrolls
   to the products already present on this page instead of unexpectedly leaving it. */
.stampyop-hero-actions .stampyop-button-primary {
    min-width: 174px;
}

/* Give the shop area a stronger marketplace identity without making it busy. */
.stampyop-products-section {
    background:
        radial-gradient(circle at 92% 8%, rgba(37,99,235,.08), transparent 24%),
        linear-gradient(180deg, #f7faff 0%, #f4f7fb 100%);
}
.stampyop-products-section .stampyop-section-heading {
    margin-bottom: 24px;
}
.stampyop-products-section .stampyop-heading-row {
    align-items: flex-start;
}
.stampyop-product-search {
    max-width: 720px;
    min-height: 58px;
    margin-bottom: 34px;
    border-color: #d7e2f1;
    box-shadow: 0 9px 24px rgba(15,23,42,.055);
}

/* Product cards: all variable content gets a reserved row so image/title/options/
   price/button stay aligned from card to card, even when plan counts differ. */
.stampyop-home-products .products {
    align-items: stretch;
    gap: 24px;
}
.stampyop-home-products .products > li.product {
    position: relative;
    display: flex !important;
    flex-direction: column;
    height: 100%;
    min-height: 548px;
    padding: 16px !important;
    overflow: hidden;
    border: 1px solid #d8e3f0 !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 10px 26px rgba(15,23,42,.055) !important;
}
.stampyop-home-products .products > li.product:hover {
    border-color: #b8cdf7 !important;
    box-shadow: 0 18px 40px rgba(15,23,42,.10) !important;
}
.stampyop-home-products .product .woocommerce-loop-product__link {
    display: block !important;
    flex: 0 0 auto !important;
}
.stampyop-home-products .product img {
    width: 100% !important;
    height: 176px !important;
    margin: 0 0 14px !important;
    padding: 14px !important;
    object-fit: contain !important;
    border: 1px solid #edf2f7;
    border-radius: 15px !important;
    background: linear-gradient(145deg, #f8fbff, #f4f7fb) !important;
}
.stampyop-home-products .product .woocommerce-loop-product__title {
    min-height: 44px !important;
    margin: 0 !important;
    padding: 2px 2px 0 !important;
    color: var(--st-navy) !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
    font-weight: 820 !important;
}
.stampyop-home-products .stampyop-card-meta {
    min-height: 24px;
    margin: 4px 2px 8px;
    display: flex;
    align-items: center;
    color: #64748b;
    font-size: 12px;
}
.stampyop-home-products .stampyop-simple-picker-card {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
}
.stampyop-home-products .stampyop-simple-picker-card .stampyop-option-label {
    margin-left: 2px;
    margin-right: 2px;
    font-size: 10px;
}
.stampyop-home-products .stampyop-simple-picker-card .stampyop-account-options {
    min-height: 34px;
    margin-left: 2px;
    margin-right: 2px;
}
.stampyop-home-products .stampyop-account-options .stampyop-option-button {
    flex: 1 1 0;
    min-width: 0;
}
.stampyop-home-products .stampyop-simple-picker-card .stampyop-duration-wrap {
    display: flex;
    min-height: 88px;
    flex-direction: column;
}
.stampyop-home-products .stampyop-simple-picker-card .stampyop-duration-options {
    align-content: flex-start;
    min-height: 34px;
    margin-left: 2px;
    margin-right: 2px;
}
.stampyop-home-products .stampyop-option-button {
    min-height: 31px;
    padding: 5px 10px;
    border-radius: 8px;
    font-size: 11px;
}
.stampyop-home-products .stampyop-card-price {
    margin: auto 2px 12px !important;
    min-height: 72px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 11px 13px !important;
    border: 1px solid #dbe4ef;
    border-radius: 12px;
    background: #f7f9fc;
}
.stampyop-home-products .stampyop-price-caption {
    margin-bottom: 4px;
    font-size: 9px;
}
.stampyop-home-products .stampyop-price-value {
    font-size: 20px;
}
.woocommerce ul.products li.product .button.stampyop-details-button,
.stampyop-home-products .product .button.stampyop-details-button {
    flex: 0 0 auto;
    width: 100% !important;
    min-height: 44px;
    margin: 0 !important;
    padding: 0 14px !important;
    border-radius: 11px !important;
    background: var(--st-primary) !important;
    color: #fff !important;
    font-size: 14px;
    font-weight: 800;
}

/* A clear end-of-section path to the full catalog. */
.stampyop-products-footer-cta {
    display: flex;
    justify-content: center;
    margin-top: 34px;
}
.stampyop-view-all-products {
    min-width: 210px;
    gap: 9px;
    min-height: 50px;
    border-radius: 13px;
}
.stampyop-view-all-products span {
    font-size: 18px;
    transition: transform .16s ease;
}
.stampyop-view-all-products:hover span {
    transform: translateX(3px);
}

@media (max-width: 980px) {
    .main-navigation .main-nav ul li a,
    .main-navigation .main-nav ul li a:visited {
        padding-left: 10px !important;
        padding-right: 10px !important;
        font-size: 13px;
    }
    .main-navigation .main-nav ul li a.stampyop-contact-nav,
    .main-navigation .main-nav ul li a.stampyop-contact-nav:visited {
        margin-left: 2px;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

@media (max-width: 768px) {
    .site-header .site-logo a::after {
        font-size: 24px;
    }
    .main-navigation .main-nav ul li a.stampyop-contact-nav,
    .main-navigation .main-nav ul li a.stampyop-contact-nav:visited {
        margin: 6px 12px 10px;
        text-align: center;
        justify-content: center;
    }
    .stampyop-home-products .products > li.product {
        min-height: 0;
    }
    .stampyop-home-products .product img {
        height: 150px !important;
    }
    .stampyop-home-products .stampyop-simple-picker-card .stampyop-duration-wrap {
        min-height: 72px;
    }
    .stampyop-products-footer-cta {
        margin-top: 26px;
    }
}


/* v2.1 customer-first UI refinement */

/* Navigation: one consistent treatment for every standard menu link. GeneratePress
   can add several different current/ancestor classes, so neutralize all of them
   and keep Contact Us as the only filled action. */
.main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav),
.main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav):link,
.main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav):visited,
.main-navigation .main-nav > ul > li.current-menu-item > a:not(.stampyop-contact-nav),
.main-navigation .main-nav > ul > li.current_page_item > a:not(.stampyop-contact-nav),
.main-navigation .main-nav > ul > li.current-menu-parent > a:not(.stampyop-contact-nav),
.main-navigation .main-nav > ul > li.current_page_parent > a:not(.stampyop-contact-nav),
.main-navigation .main-nav > ul > li.current-menu-ancestor > a:not(.stampyop-contact-nav),
.main-navigation .main-nav > ul > li.current_page_ancestor > a:not(.stampyop-contact-nav) {
    color: #172033 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 9px;
}
.main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav):hover,
.main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav):focus-visible {
    color: var(--st-primary) !important;
    background: #f3f7ff !important;
}
.main-navigation .main-nav > ul > li.stampyop-contact-menu-item {
    margin-left: 22px;
    padding-left: 22px;
    border-left: 1px solid #e5eaf2;
}
.main-navigation .main-nav > ul > li.stampyop-contact-menu-item > a.stampyop-contact-nav,
.main-navigation .main-nav > ul > li.stampyop-contact-menu-item > a.stampyop-contact-nav:visited {
    margin-left: 0 !important;
    min-width: 118px;
    justify-content: center;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-shadow: 0 8px 20px rgba(37,99,235,.22);
}

/* Stronger but still simple section hierarchy. */
.stampyop-section .stampyop-kicker,
.stampyop-about-section .stampyop-kicker {
    margin-bottom: 12px;
    padding: 7px 11px;
    border: 1px solid #dbe8ff;
    border-radius: 999px;
    background: #eef5ff;
    color: #1d5fe5;
    font-size: 10px;
    line-height: 1;
    letter-spacing: .12em;
}
.stampyop-section-heading h2,
.stampyop-about-section h2 {
    position: relative;
    padding-bottom: 17px;
    font-size: clamp(34px, 4.2vw, 50px);
    font-weight: 850;
    letter-spacing: -.04em;
}
.stampyop-section-heading h2::after,
.stampyop-about-section h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 52px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--st-primary), #60a5fa);
}
.stampyop-section-heading p {
    margin-top: 14px;
    font-size: 15px;
    line-height: 1.65;
}
.stampyop-section-action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid #d8e3f0;
    border-radius: 11px;
    background: #fff;
    color: #1e4fc7 !important;
    box-shadow: 0 5px 16px rgba(15,23,42,.04);
    white-space: nowrap;
}
.stampyop-section-action:hover {
    border-color: #b9cdf8;
    background: #f5f8ff;
}
.stampyop-section-action span {
    font-size: 17px;
    transition: transform .16s ease;
}
.stampyop-section-action:hover span { transform: translateX(2px); }

/* Products are the main shopping surface: center a small catalogue now while
   scaling cleanly to four cards later. */
.stampyop-products-section .stampyop-section-heading {
    display: block;
    max-width: 760px;
    margin: 0 auto 26px;
    text-align: center;
}
.stampyop-products-section .stampyop-section-heading h2::after {
    left: 50%;
    transform: translateX(-50%);
}
.stampyop-products-section .stampyop-section-heading p {
    margin-left: auto;
    margin-right: auto;
}
.stampyop-home-products .products {
    grid-template-columns: repeat(auto-fit, minmax(240px, 270px)) !important;
    justify-content: center;
    align-items: stretch;
    gap: 24px !important;
}
.stampyop-home-products .products > li.product {
    width: 100% !important;
    border-color: #d6e2f0 !important;
    box-shadow: 0 10px 28px rgba(15,23,42,.065) !important;
}
.stampyop-home-products .products > li.product:hover {
    transform: translateY(-4px);
    border-color: #a9c3f7 !important;
    box-shadow: 0 18px 42px rgba(15,23,42,.11) !important;
}
.stampyop-home-products .product img {
    background:
        radial-gradient(circle at 80% 10%, rgba(37,99,235,.09), transparent 33%),
        linear-gradient(145deg, #fbfdff, #f3f7fb) !important;
}
.stampyop-home-products .product .woocommerce-loop-product__title {
    font-size: 18px !important;
}
.stampyop-home-products .stampyop-card-price {
    background: linear-gradient(180deg, #f9fbfe, #f4f7fb);
    border-color: #d6e1ed;
}
.stampyop-home-products .product .button.stampyop-details-button {
    box-shadow: 0 7px 16px rgba(37,99,235,.18);
}
.stampyop-products-footer-cta { margin-top: 30px; }
.stampyop-view-all-products {
    min-width: 220px;
    box-shadow: 0 9px 20px rgba(37,99,235,.18);
}

/* About copy should read like customer benefits rather than internal product notes. */
.stampyop-about-section {
    background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
}
.stampyop-about-grid { gap: 64px; align-items: start; }
.stampyop-large-copy {
    max-width: 720px;
    margin-bottom: 24px;
    color: #475569;
    font-size: 17px;
    line-height: 1.7;
}
.stampyop-mini-grid { gap: 16px; }
.stampyop-mini-grid > div {
    position: relative;
    min-height: 128px;
    padding: 22px 22px 20px 24px;
    border-color: #dce6f2;
    background: #f8fbff;
    box-shadow: 0 6px 18px rgba(15,23,42,.035);
}
.stampyop-mini-grid > div::before {
    content: "";
    position: absolute;
    left: 0;
    top: 20px;
    bottom: 20px;
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--st-primary), #60a5fa);
}
.stampyop-mini-grid strong {
    margin-bottom: 8px;
    font-size: 16px;
}

/* Review and Blog areas should feel like deliberate sections, not plain text blocks. */
.stampyop-reviews-section {
    background:
        radial-gradient(circle at 8% 10%, rgba(37,99,235,.055), transparent 22%),
        #f7f9fc;
}
.stampyop-review-card {
    border-color: #dce6f2;
    box-shadow: 0 9px 24px rgba(15,23,42,.05);
}
.stampyop-blog-section {
    background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
}
.stampyop-blog-card {
    border-color: #dce6f2;
    box-shadow: 0 8px 24px rgba(15,23,42,.045);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.stampyop-blog-card:hover {
    transform: translateY(-3px);
    border-color: #bfd1f6;
    box-shadow: 0 14px 30px rgba(15,23,42,.08);
}

/* FAQ heading gets the same visual hierarchy while the answers stay compact. */
.stampyop-faq-section {
    background: #f6f9fd;
}
.stampyop-faq-item {
    border-color: #dce6f2;
    box-shadow: 0 4px 14px rgba(15,23,42,.025);
}
.stampyop-faq-item[open] {
    border-color: #bcd0fa;
    box-shadow: 0 8px 22px rgba(15,23,42,.05);
}

@media (max-width: 980px) {
    .main-navigation .main-nav > ul > li.stampyop-contact-menu-item {
        margin-left: 10px;
        padding-left: 10px;
    }
}

@media (max-width: 768px) {
    .main-navigation .main-nav > ul > li.stampyop-contact-menu-item {
        margin-left: 0;
        padding-left: 0;
        border-left: 0;
    }
    .main-navigation .main-nav > ul > li.stampyop-contact-menu-item > a.stampyop-contact-nav,
    .main-navigation .main-nav > ul > li.stampyop-contact-menu-item > a.stampyop-contact-nav:visited {
        margin: 8px 12px 12px !important;
    }
    .stampyop-section-heading h2,
    .stampyop-about-section h2 {
        font-size: clamp(30px, 9vw, 40px);
    }
    .stampyop-heading-row {
        align-items: flex-start;
    }
    .stampyop-section-action {
        margin-top: 4px;
    }
    .stampyop-home-products .products {
        grid-template-columns: minmax(0, 1fr) !important;
        max-width: 420px;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .stampyop-about-grid { gap: 30px; }
    .stampyop-mini-grid { grid-template-columns: 1fr; }
}

/* =========================================================
   v2.2 — Modern storefront visual system
   Homepage-only presentation overhaul. Purchase logic untouched.
   ========================================================= */
:root {
    --st-primary: #2f6df6;
    --st-primary-dark: #1f55d5;
    --st-secondary: #7c4dff;
    --st-cyan: #23c4d7;
    --st-navy: #0b1328;
    --st-text: #26344d;
    --st-muted: #71809a;
    --st-bg: #f5f7fb;
    --st-white: #ffffff;
    --st-border: #dfe6f0;
    --st-soft: #edf4ff;
    --st-radius: 20px;
    --st-shadow: 0 18px 48px rgba(16, 32, 64, .10);
    --st-gradient: linear-gradient(135deg, #2f6df6 0%, #6557f5 100%);
}

body.stampyop-store-theme {
    background: #f5f7fb;
}

/* ---------- HEADER / WORDMARK ---------- */
body.stampyop-store-theme .site-header {
    position: sticky;
    top: 32px;
    z-index: 99;
    border-bottom: 1px solid rgba(216, 226, 241, .9);
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(18px) saturate(1.2);
    box-shadow: 0 8px 26px rgba(16,32,64,.045);
}
body.admin-bar.stampyop-store-theme .site-header { top: 32px; }
body.stampyop-store-theme .site-header .inside-header {
    max-width: 1220px;
    min-height: 72px;
    padding: 0 22px;
}
body.stampyop-store-theme .site-logo a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    text-decoration: none;
}
body.stampyop-store-theme .site-logo img {
    display: none !important;
}
body.stampyop-store-theme .site-logo a::after {
    content: "StampyOP";
    color: var(--st-navy);
    font-size: 24px;
    line-height: 1;
    font-weight: 850;
    letter-spacing: -.04em;
}
body.stampyop-store-theme .main-navigation {
    border: 0;
    background: transparent !important;
}
body.stampyop-store-theme .main-navigation .inside-navigation {
    max-width: 1220px;
    min-height: 72px;
    margin: 0 auto;
    padding: 0 22px;
}
body.stampyop-store-theme .main-navigation .main-nav > ul {
    gap: 2px;
    align-items: center;
}
body.stampyop-store-theme .main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav),
body.stampyop-store-theme .main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav):visited,
body.stampyop-store-theme .main-navigation .main-nav > ul > li.current-menu-item > a:not(.stampyop-contact-nav),
body.stampyop-store-theme .main-navigation .main-nav > ul > li.current_page_item > a:not(.stampyop-contact-nav),
body.stampyop-store-theme .main-navigation .main-nav > ul > li.current-menu-parent > a:not(.stampyop-contact-nav),
body.stampyop-store-theme .main-navigation .main-nav > ul > li.current_page_parent > a:not(.stampyop-contact-nav) {
    position: relative;
    min-height: 44px;
    padding: 0 14px !important;
    border-radius: 10px;
    color: #26344d !important;
    background: transparent !important;
    font-size: 14px;
    font-weight: 700;
    box-shadow: none !important;
}
body.stampyop-store-theme .main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav)::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 6px;
    height: 2px;
    border-radius: 999px;
    background: var(--st-gradient);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .18s ease;
}
body.stampyop-store-theme .main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav):hover,
body.stampyop-store-theme .main-navigation .main-nav > ul > li.current-menu-item > a:not(.stampyop-contact-nav),
body.stampyop-store-theme .main-navigation .main-nav > ul > li.current_page_item > a:not(.stampyop-contact-nav) {
    color: var(--st-primary) !important;
    background: transparent !important;
}
body.stampyop-store-theme .main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav):hover::after,
body.stampyop-store-theme .main-navigation .main-nav > ul > li.current-menu-item > a:not(.stampyop-contact-nav)::after,
body.stampyop-store-theme .main-navigation .main-nav > ul > li.current_page_item > a:not(.stampyop-contact-nav)::after {
    transform: scaleX(1);
}
body.stampyop-store-theme .main-navigation .main-nav > ul > li.stampyop-contact-menu-item {
    margin-left: 34px;
    padding-left: 0;
    border-left: 0;
}
body.stampyop-store-theme .main-navigation .main-nav > ul > li.stampyop-contact-menu-item > a.stampyop-contact-nav,
body.stampyop-store-theme .main-navigation .main-nav > ul > li.stampyop-contact-menu-item > a.stampyop-contact-nav:visited {
    min-width: 126px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px !important;
    border: 0;
    border-radius: 12px;
    color: #fff !important;
    background: var(--st-gradient) !important;
    font-weight: 800;
    box-shadow: 0 10px 26px rgba(47,109,246,.24) !important;
    transition: transform .18s ease, box-shadow .18s ease;
}
body.stampyop-store-theme .main-navigation .main-nav > ul > li.stampyop-contact-menu-item > a.stampyop-contact-nav:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 30px rgba(47,109,246,.30) !important;
}

/* ---------- HERO ---------- */
.stampyop-store-theme .stampyop-hero {
    padding: 72px 0 92px;
    background:
        radial-gradient(circle at 12% 15%, rgba(61,139,255,.23), transparent 27%),
        radial-gradient(circle at 88% 12%, rgba(124,77,255,.20), transparent 24%),
        linear-gradient(135deg, #0a1227 0%, #10234d 48%, #173e8b 100%);
}
.stampyop-store-theme .stampyop-hero::after {
    content: "";
    position: absolute;
    inset: auto -12% -55% 44%;
    height: 420px;
    border-radius: 50%;
    background: rgba(35,196,215,.09);
    filter: blur(10px);
    pointer-events: none;
}
.stampyop-store-theme .stampyop-hero-grid {
    grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr);
    gap: 70px;
}
.stampyop-store-theme .stampyop-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 22px;
    padding: 9px 13px;
    border: 1px solid rgba(148,184,255,.24);
    border-radius: 999px;
    color: #c8dcff;
    background: rgba(255,255,255,.07);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    backdrop-filter: blur(10px);
}
.stampyop-eyebrow-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #39d6e7;
    box-shadow: 0 0 0 5px rgba(57,214,231,.12);
}
.stampyop-store-theme .stampyop-hero h1 {
    max-width: 720px;
    color: #fff;
    font-size: clamp(48px, 5.5vw, 70px);
    line-height: .99;
    letter-spacing: -.055em;
    font-weight: 820;
}
.stampyop-store-theme .stampyop-hero h1 span {
    background: linear-gradient(90deg, #80b3ff 0%, #91e4ed 48%, #c0a7ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.stampyop-store-theme .stampyop-hero-copy > p {
    max-width: 610px;
    margin-top: 24px;
    color: #c4d0e6;
    font-size: 18px;
    line-height: 1.72;
}
.stampyop-store-theme .stampyop-hero-actions { margin-top: 30px; }
.stampyop-store-theme .stampyop-button-primary,
.stampyop-store-theme .woocommerce ul.products li.product .button.stampyop-details-button,
.stampyop-store-theme .stampyop-section-action {
    color: #fff !important;
    background: var(--st-gradient) !important;
    border: 0 !important;
    box-shadow: 0 10px 25px rgba(47,109,246,.22) !important;
}
.stampyop-store-theme .stampyop-button-primary:hover,
.stampyop-store-theme .woocommerce ul.products li.product .button.stampyop-details-button:hover,
.stampyop-store-theme .stampyop-section-action:hover {
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 15px 34px rgba(47,109,246,.30) !important;
}
.stampyop-store-theme .stampyop-button-primary {
    min-height: 52px;
    padding: 0 22px;
    border-radius: 14px;
}
.stampyop-store-theme .stampyop-button-primary span { margin-left: 8px; font-size: 18px; }
.stampyop-hero-proof {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 23px;
}
.stampyop-hero-proof span {
    position: relative;
    padding-left: 18px;
    color: #9fb1d0;
    font-size: 13px;
    font-weight: 650;
}
.stampyop-hero-proof span::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #67d7e6;
    font-weight: 900;
}

/* Dynamic mini-store visual */
.stampyop-hero-showcase {
    position: relative;
    min-height: 430px;
    display: grid;
    place-items: center;
}
.stampyop-showcase-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(4px);
    opacity: .75;
}
.stampyop-showcase-glow-a {
    width: 250px;
    height: 250px;
    top: 4px;
    right: -18px;
    background: rgba(83,119,255,.26);
}
.stampyop-showcase-glow-b {
    width: 210px;
    height: 210px;
    bottom: 4px;
    left: -18px;
    background: rgba(50,210,218,.15);
}
.stampyop-showcase-window {
    position: relative;
    z-index: 2;
    width: min(100%, 510px);
    padding: 16px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 28px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 32px 80px rgba(0,0,0,.25);
    transform: rotate(1deg);
}
.stampyop-showcase-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 4px 16px;
}
.stampyop-window-dots { display: flex; gap: 6px; }
.stampyop-window-dots span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #d3dae7;
}
.stampyop-showcase-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 9px;
    border-radius: 999px;
    color: #29714c;
    background: #eaf9f0;
    font-size: 11px;
    font-weight: 800;
}
.stampyop-showcase-status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #34c77a;
}
.stampyop-showcase-title-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 14px 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, #f3f7ff 0%, #f7f4ff 100%);
}
.stampyop-showcase-title-row strong {
    display: block;
    margin-top: 3px;
    color: var(--st-navy);
    font-size: 19px;
}
.stampyop-showcase-kicker {
    color: var(--st-primary);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .12em;
}
.stampyop-showcase-badge {
    flex: 0 0 auto;
    padding: 7px 10px;
    border-radius: 9px;
    color: #fff;
    background: var(--st-gradient);
    font-size: 11px;
    font-weight: 800;
}
.stampyop-showcase-products {
    display: grid;
    gap: 10px;
    padding: 13px 0 4px;
}
.stampyop-showcase-product {
    display: grid;
    grid-template-columns: 54px minmax(0,1fr) auto;
    gap: 13px;
    align-items: center;
    padding: 12px;
    border: 1px solid #e4eaf2;
    border-radius: 15px;
    color: inherit;
    background: #fff;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.stampyop-showcase-product:hover {
    transform: translateY(-2px);
    border-color: #bcd0fb;
    box-shadow: 0 10px 24px rgba(16,32,64,.08);
}
.stampyop-showcase-product-thumb {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 13px;
    background: linear-gradient(145deg, #f1f5fb, #fff);
}
.stampyop-showcase-product-thumb img { width: 100%; height: 100%; object-fit: contain; padding: 5px; }
.stampyop-showcase-product-thumb > span {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: #fff;
    background: var(--st-gradient);
    font-weight: 900;
}
.stampyop-showcase-product-copy { min-width: 0; }
.stampyop-showcase-product-copy strong {
    display: block;
    overflow: hidden;
    color: var(--st-navy);
    font-size: 14px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.stampyop-showcase-product-copy small {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: var(--st-muted);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.stampyop-showcase-product-price {
    color: var(--st-navy);
    font-size: 13px;
    font-weight: 850;
}
.stampyop-showcase-product-price .woocommerce-Price-amount { color: inherit; }
.stampyop-showcase-footer {
    display: flex;
    gap: 14px;
    padding: 14px 4px 3px;
    color: var(--st-muted);
    font-size: 11px;
    font-weight: 650;
}
.stampyop-showcase-footer b { color: #25a66a; }

/* ---------- TRUST HIGHLIGHTS ---------- */
.stampyop-store-theme .stampyop-trust-strip {
    margin-top: -36px;
    z-index: 6;
}
.stampyop-store-theme .stampyop-trust-grid { gap: 16px; }
.stampyop-store-theme .stampyop-trust-item {
    position: relative;
    min-height: 132px;
    overflow: hidden;
    padding: 22px 20px;
    border: 1px solid #dfe7f3;
    border-radius: 18px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 16px 36px rgba(16,32,64,.08);
}
.stampyop-store-theme .stampyop-trust-item::after {
    content: "";
    position: absolute;
    right: -24px;
    bottom: -30px;
    width: 86px;
    height: 86px;
    border-radius: 50%;
    opacity: .11;
    background: currentColor;
}
.stampyop-store-theme .stampyop-trust-icon {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
    border-radius: 13px;
    color: #fff;
    background: var(--st-gradient);
    box-shadow: 0 9px 18px rgba(47,109,246,.20);
}
.stampyop-trust-item-1 { color: #f59e0b; }
.stampyop-trust-item-2 { color: #2f6df6; }
.stampyop-trust-item-3 { color: #23a7bb; }
.stampyop-trust-item-4 { color: #7c4dff; }
.stampyop-trust-item-1 .stampyop-trust-icon { background: linear-gradient(135deg,#f59e0b,#ffbf4b); }
.stampyop-trust-item-2 .stampyop-trust-icon { background: linear-gradient(135deg,#2f6df6,#5c91ff); }
.stampyop-trust-item-3 .stampyop-trust-icon { background: linear-gradient(135deg,#18aebe,#57d4de); }
.stampyop-trust-item-4 .stampyop-trust-icon { background: linear-gradient(135deg,#7652ef,#a477ff); }
.stampyop-store-theme .stampyop-trust-item h3 {
    color: var(--st-navy);
    font-size: 16px;
    font-weight: 800;
}
.stampyop-store-theme .stampyop-trust-item p {
    color: #70809a;
    font-size: 12px;
    line-height: 1.55;
}

/* ---------- SECTION SYSTEM ---------- */
.stampyop-store-theme .stampyop-section { padding: 100px 0; }
.stampyop-store-theme .stampyop-products-section {
    background:
        radial-gradient(circle at 0% 20%, rgba(47,109,246,.06), transparent 22%),
        radial-gradient(circle at 100% 80%, rgba(124,77,255,.045), transparent 24%),
        #f5f7fb;
}
.stampyop-store-theme .stampyop-section .stampyop-kicker,
.stampyop-store-theme .stampyop-about-section .stampyop-kicker {
    padding: 8px 12px;
    border: 0;
    color: #355fc4;
    background: #e9f0ff;
    font-size: 10px;
    letter-spacing: .12em;
}
.stampyop-store-theme .stampyop-section-heading h2,
.stampyop-store-theme .stampyop-about-section h2 {
    padding-bottom: 0;
    color: var(--st-navy);
    font-size: clamp(38px, 4.3vw, 52px);
    line-height: 1.02;
    font-weight: 820;
    letter-spacing: -.045em;
}
.stampyop-store-theme .stampyop-section-heading h2::after,
.stampyop-store-theme .stampyop-about-section h2::after { display: none; }
.stampyop-store-theme .stampyop-section-heading p {
    margin-top: 13px;
    color: #71809a;
    font-size: 16px;
}
.stampyop-store-theme .stampyop-heading-row { align-items: center; }
.stampyop-store-theme .stampyop-section-action {
    min-height: 46px;
    gap: 8px;
    padding: 0 17px;
    border-radius: 13px;
    font-size: 13px;
    font-weight: 800;
}

/* ---------- SEARCH + PRODUCT CARDS ---------- */
.stampyop-store-theme .stampyop-product-search {
    min-height: 58px;
    max-width: 720px;
    margin-bottom: 42px;
    border: 1px solid #dce5f2;
    box-shadow: 0 14px 32px rgba(16,32,64,.07);
}
.stampyop-store-theme .stampyop-home-products .products {
    grid-template-columns: repeat(auto-fit, minmax(250px, 286px)) !important;
    gap: 26px !important;
}
.stampyop-store-theme .stampyop-home-products .products > li.product {
    position: relative;
    overflow: hidden;
    min-height: 520px;
    padding: 16px !important;
    border: 1px solid #dce5f2 !important;
    border-radius: 22px !important;
    background: #fff;
    box-shadow: 0 16px 38px rgba(16,32,64,.07) !important;
}
.stampyop-store-theme .stampyop-home-products .products > li.product::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: var(--st-gradient);
    opacity: .9;
}
.stampyop-store-theme .stampyop-home-products .products > li.product:hover {
    transform: translateY(-6px);
    border-color: #b9cdf6 !important;
    box-shadow: 0 24px 50px rgba(16,32,64,.12) !important;
}
.stampyop-store-theme .woocommerce ul.products li.product a img {
    aspect-ratio: 1.42 / 1;
    padding: 18px;
    margin-bottom: 15px;
    border: 1px solid #edf1f6;
    border-radius: 16px;
    background:
        radial-gradient(circle at 78% 8%, rgba(47,109,246,.10), transparent 35%),
        linear-gradient(145deg,#f8fbff,#f4f6fa) !important;
}
.stampyop-store-theme .woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 44px;
    padding: 0 5px;
    font-size: 17px !important;
    line-height: 1.3;
    font-weight: 850;
}
.stampyop-store-theme .stampyop-card-meta {
    min-height: 24px;
    margin: 2px 5px 9px;
}
.stampyop-store-theme .stampyop-simple-picker-card {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}
.stampyop-store-theme .stampyop-option-label {
    margin-left: 5px;
    color: #7c8aa1;
    font-size: 9px;
}
.stampyop-store-theme .stampyop-option-group {
    min-height: 33px;
    margin-left: 5px;
    margin-right: 5px;
}
.stampyop-store-theme .stampyop-duration-wrap {
    min-height: 76px;
}
.stampyop-store-theme .stampyop-card-price {
    min-height: 72px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: auto 5px 13px !important;
    padding: 13px 14px;
    border-color: #dce4ef;
    border-radius: 13px;
    background: linear-gradient(135deg,#f7faff,#f4f5fb) !important;
}
.stampyop-store-theme .stampyop-price-caption {
    color: #7b89a1;
    font-size: 9px;
}
.stampyop-store-theme .stampyop-price-value {
    margin-top: 2px;
    font-size: 22px;
}
.stampyop-store-theme .woocommerce ul.products li.product .button.stampyop-details-button {
    width: calc(100% - 10px);
    min-height: 46px;
    margin: 0 5px 3px;
    border-radius: 13px;
}
.stampyop-store-theme .stampyop-products-footer-cta { margin-top: 34px; }
.stampyop-store-theme .stampyop-view-all-products {
    min-width: 230px;
    min-height: 50px;
}

/* ---------- ABOUT / BENEFITS ---------- */
.stampyop-store-theme .stampyop-about-section {
    padding-top: 86px;
    padding-bottom: 86px;
    background: #fff;
}
.stampyop-about-panel {
    position: relative;
    overflow: hidden;
    padding: 50px;
    border-radius: 28px;
    background:
        radial-gradient(circle at 92% 18%, rgba(85,116,255,.20), transparent 26%),
        linear-gradient(135deg,#0c1732,#172d5f 68%,#243f7e);
    box-shadow: 0 24px 60px rgba(16,32,64,.14);
}
.stampyop-store-theme .stampyop-about-grid {
    grid-template-columns: .9fr 1.1fr;
    gap: 52px;
    align-items: center;
}
.stampyop-store-theme .stampyop-about-panel .stampyop-kicker {
    color: #bfdbff;
    background: rgba(255,255,255,.09);
}
.stampyop-store-theme .stampyop-about-panel h2 { color: #fff; }
.stampyop-store-theme .stampyop-about-panel .stampyop-large-copy {
    margin-top: 20px;
    margin-bottom: 18px;
    color: #c4d0e6;
    font-size: 17px;
}
.stampyop-about-note {
    display: inline-flex;
    padding: 8px 11px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 999px;
    color: #dce8ff;
    background: rgba(255,255,255,.06);
    font-size: 12px;
    font-weight: 700;
}
.stampyop-store-theme .stampyop-about-panel .stampyop-mini-grid { gap: 14px; }
.stampyop-store-theme .stampyop-about-panel .stampyop-mini-grid > div {
    min-height: 150px;
    padding: 20px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.08);
    box-shadow: none;
    backdrop-filter: blur(8px);
}
.stampyop-store-theme .stampyop-about-panel .stampyop-mini-grid > div::before { display: none; }
.stampyop-store-theme .stampyop-about-panel .stampyop-mini-grid strong {
    margin: 11px 0 7px;
    color: #fff;
    font-size: 16px;
}
.stampyop-store-theme .stampyop-about-panel .stampyop-mini-grid > div > span:last-child {
    color: #bdcbe3;
    font-size: 13px;
}
.stampyop-mini-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: #fff !important;
    background: linear-gradient(135deg,rgba(82,139,255,.95),rgba(124,77,255,.95));
    font-size: 15px !important;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(0,0,0,.15);
}

/* ---------- REVIEWS / FAQ ---------- */
.stampyop-store-theme .stampyop-reviews-section {
    background:
        radial-gradient(circle at 12% 0%, rgba(47,109,246,.07), transparent 22%),
        #f5f7fb;
}
.stampyop-store-theme .stampyop-review-card {
    position: relative;
    min-height: 250px;
    padding: 27px;
    border-color: #dde5f0;
    border-radius: 20px;
    box-shadow: 0 14px 32px rgba(16,32,64,.06);
}
.stampyop-store-theme .stampyop-review-card::before {
    content: "“";
    position: absolute;
    right: 20px;
    bottom: 2px;
    color: #eef2f8;
    font-family: Georgia, serif;
    font-size: 92px;
    line-height: 1;
    pointer-events: none;
}
.stampyop-store-theme .stampyop-faq-section {
    background: linear-gradient(180deg,#fff 0%,#f7f9fd 100%);
}
.stampyop-store-theme .stampyop-faq-item {
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(16,32,64,.04);
}
.stampyop-store-theme .stampyop-faq-item summary { padding: 20px 22px; }

/* ---------- SUPPORT CTA ---------- */
.stampyop-store-theme .stampyop-contact-section {
    padding: 74px 0 92px;
    background: #f5f7fb;
}
.stampyop-store-theme .stampyop-contact-box {
    position: relative;
    overflow: hidden;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 42px;
    padding: 46px 48px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 28px;
    background:
        radial-gradient(circle at 88% 0%, rgba(91,126,255,.28), transparent 29%),
        radial-gradient(circle at 0% 100%, rgba(35,196,215,.13), transparent 30%),
        linear-gradient(135deg,#0a132b 0%,#14295a 58%,#1f4494 100%);
    box-shadow: 0 25px 60px rgba(16,32,64,.18);
}
.stampyop-store-theme .stampyop-contact-box::after {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    right: -120px;
    bottom: -160px;
    border-radius: 50%;
    border: 32px solid rgba(255,255,255,.05);
}
.stampyop-store-theme .stampyop-contact-box h2 {
    max-width: 650px;
    font-size: clamp(34px,4vw,50px);
    letter-spacing: -.045em;
}
.stampyop-store-theme .stampyop-contact-box p {
    color: #c5d1e7;
    font-size: 15px;
}
.stampyop-store-theme .stampyop-contact-actions {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    gap: 10px;
    margin: 0;
}
.stampyop-contact-link {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 165px;
    padding: 12px 13px;
    border-radius: 15px;
    color: #fff !important;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(0,0,0,.14);
    transition: transform .18s ease, box-shadow .18s ease;
}
.stampyop-contact-link:hover {
    transform: translateY(-2px);
    color: #fff !important;
    box-shadow: 0 15px 30px rgba(0,0,0,.20);
}
.stampyop-contact-discord { background: linear-gradient(135deg,#5865f2,#7289ff); }
.stampyop-contact-whatsapp { background: linear-gradient(135deg,#16a765,#2bcf7c); }
.stampyop-contact-email { background: linear-gradient(135deg,#2f6df6,#4a84ff); }
.stampyop-contact-mark {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: rgba(255,255,255,.18);
    font-weight: 900;
}
.stampyop-contact-link strong,
.stampyop-contact-link small { display: block; }
.stampyop-contact-link strong { font-size: 13px; }
.stampyop-contact-link small { margin-top: 2px; color: rgba(255,255,255,.78); font-size: 9px; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1100px) {
    body.stampyop-store-theme .main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav) {
        padding-left: 10px !important;
        padding-right: 10px !important;
        font-size: 13px;
    }
    body.stampyop-store-theme .main-navigation .main-nav > ul > li.stampyop-contact-menu-item { margin-left: 18px; }
    .stampyop-store-theme .stampyop-hero-grid { grid-template-columns: 1fr 1fr; gap: 44px; }
    .stampyop-store-theme .stampyop-contact-box { grid-template-columns: 1fr; }
    .stampyop-store-theme .stampyop-contact-actions { justify-content: stretch; }
}

@media (max-width: 900px) {
    body.stampyop-store-theme .site-header { top: 46px; }
    .stampyop-store-theme .stampyop-hero-grid,
    .stampyop-store-theme .stampyop-about-grid { grid-template-columns: 1fr; }
    .stampyop-store-theme .stampyop-hero-copy { text-align: center; }
    .stampyop-store-theme .stampyop-hero-copy > p { margin-left: auto; margin-right: auto; }
    .stampyop-store-theme .stampyop-hero-actions,
    .stampyop-hero-proof { justify-content: center; }
    .stampyop-hero-showcase { min-height: 390px; }
    .stampyop-store-theme .stampyop-trust-grid { grid-template-columns: repeat(2,1fr); }
    .stampyop-store-theme .stampyop-contact-actions { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 768px) {
    body.stampyop-store-theme .site-header { position: relative; top: auto; }
    body.stampyop-store-theme .main-navigation .main-nav > ul > li.stampyop-contact-menu-item {
        margin-left: 0;
        padding-left: 0;
    }
    body.stampyop-store-theme .main-navigation .main-nav > ul > li.stampyop-contact-menu-item > a.stampyop-contact-nav,
    body.stampyop-store-theme .main-navigation .main-nav > ul > li.stampyop-contact-menu-item > a.stampyop-contact-nav:visited {
        margin: 10px 16px 16px !important;
    }
    .stampyop-store-theme .stampyop-hero {
        padding: 54px 0 74px;
    }
    .stampyop-store-theme .stampyop-hero h1 {
        font-size: clamp(42px,12vw,56px);
    }
    .stampyop-store-theme .stampyop-hero-copy > p { font-size: 16px; }
    .stampyop-showcase-window { transform: none; }
    .stampyop-store-theme .stampyop-trust-grid { grid-template-columns: 1fr; }
    .stampyop-store-theme .stampyop-trust-item { min-height: 0; }
    .stampyop-store-theme .stampyop-section { padding: 74px 0; }
    .stampyop-store-theme .stampyop-section-heading h2,
    .stampyop-store-theme .stampyop-about-section h2 { font-size: 36px; }
    .stampyop-about-panel { padding: 30px 22px; border-radius: 22px; }
    .stampyop-store-theme .stampyop-about-panel .stampyop-mini-grid { grid-template-columns: 1fr; }
    .stampyop-store-theme .stampyop-contact-box { padding: 32px 22px; border-radius: 22px; }
    .stampyop-store-theme .stampyop-contact-actions { grid-template-columns: 1fr; width: 100%; }
    .stampyop-contact-link { min-width: 0; }
    .stampyop-store-theme .stampyop-home-products .products { max-width: 460px; }
}

@media (max-width: 520px) {
    .stampyop-shell { width: min(100% - 28px,1180px); }
    .stampyop-hero-proof { gap: 9px 13px; }
    .stampyop-showcase-product { grid-template-columns: 48px minmax(0,1fr); }
    .stampyop-showcase-product-price { grid-column: 2; justify-self: start; }
    .stampyop-showcase-footer { flex-direction: column; gap: 6px; }
    .stampyop-store-theme .stampyop-section-heading h2,
    .stampyop-store-theme .stampyop-about-section h2 { font-size: 32px; }
}


/* ==========================================================
   StampyOP v2.3 — focused homepage UX polish
   Header consistency + new hero visual + reviews/blog/FAQ
   ========================================================== */

/* Header: one calm navigation colour; Contact remains the action. */
body.home.stampyop-store-theme .main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav),
body.home.stampyop-store-theme .main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav):link,
body.home.stampyop-store-theme .main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav):visited,
body.home.stampyop-store-theme .main-navigation .main-nav > ul > li.current-menu-item > a:not(.stampyop-contact-nav),
body.home.stampyop-store-theme .main-navigation .main-nav > ul > li.current_page_item > a:not(.stampyop-contact-nav),
body.home.stampyop-store-theme .main-navigation .main-nav > ul > li.current-menu-parent > a:not(.stampyop-contact-nav),
body.home.stampyop-store-theme .main-navigation .main-nav > ul > li.current_page_parent > a:not(.stampyop-contact-nav) {
    color: #17223a !important;
    background: transparent !important;
}
body.home.stampyop-store-theme .main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav)::after,
body.home.stampyop-store-theme .main-navigation .main-nav > ul > li.current-menu-item > a:not(.stampyop-contact-nav)::after,
body.home.stampyop-store-theme .main-navigation .main-nav > ul > li.current_page_item > a:not(.stampyop-contact-nav)::after {
    transform: scaleX(0) !important;
}
body.home.stampyop-store-theme .main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav):hover,
body.home.stampyop-store-theme .main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav):focus-visible {
    color: #2f6df6 !important;
}
body.home.stampyop-store-theme .main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav):hover::after,
body.home.stampyop-store-theme .main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav):focus-visible::after {
    transform: scaleX(1) !important;
}
body.stampyop-store-theme .main-navigation .main-nav > ul > li.stampyop-contact-menu-item {
    position: relative;
    margin-left: 56px !important;
}
body.stampyop-store-theme .main-navigation .main-nav > ul > li.stampyop-contact-menu-item::before {
    content: "";
    position: absolute;
    left: -28px;
    top: 10px;
    bottom: 10px;
    width: 1px;
    background: #e1e8f2;
}

/* New hero visual: communicates the buying experience instead of repeating products. */
.stampyop-hero-experience {
    position: relative;
    min-height: 450px;
    display: grid;
    place-items: center;
    isolation: isolate;
}
.stampyop-experience-orb {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    filter: blur(1px);
}
.stampyop-experience-orb-a {
    width: 250px;
    height: 250px;
    right: -24px;
    top: 14px;
    background: radial-gradient(circle at 35% 30%, rgba(137,164,255,.74), rgba(86,80,255,.10) 70%);
}
.stampyop-experience-orb-b {
    width: 210px;
    height: 210px;
    left: -32px;
    bottom: 6px;
    background: radial-gradient(circle at 60% 40%, rgba(60,213,225,.45), rgba(60,213,225,.05) 72%);
}
.stampyop-experience-window {
    position: relative;
    width: min(100%, 520px);
    overflow: hidden;
    padding: 20px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 30px;
    background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(244,248,255,.95));
    box-shadow: 0 34px 90px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.9);
}
.stampyop-experience-window::after {
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    right: -70px;
    top: -80px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(63,116,255,.14), rgba(128,82,255,.06));
    pointer-events: none;
}
.stampyop-experience-topbar {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}
.stampyop-experience-live,
.stampyop-experience-online {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}
.stampyop-experience-live {
    padding: 8px 11px;
    color: #17734b;
    background: #eafaf1;
}
.stampyop-experience-live i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #2dca7d;
    box-shadow: 0 0 0 4px rgba(45,202,125,.12);
}
.stampyop-experience-brand {
    color: #29406f;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: -.01em;
}
.stampyop-experience-intro {
    position: relative;
    z-index: 1;
    padding: 4px 4px 18px;
}
.stampyop-experience-intro > span {
    display: block;
    margin-bottom: 6px;
    color: #466ff6;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .14em;
}
.stampyop-experience-intro > strong {
    display: block;
    max-width: 390px;
    color: #0f1a33;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.025em;
}
.stampyop-experience-intro p {
    max-width: 400px;
    margin: 8px 0 0;
    color: #687792;
    font-size: 13px;
    line-height: 1.55;
}
.stampyop-experience-steps {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 10px;
}
.stampyop-experience-step {
    display: grid;
    grid-template-columns: 28px 42px minmax(0,1fr);
    gap: 11px;
    align-items: center;
    padding: 12px 13px;
    border: 1px solid #e2e9f4;
    border-radius: 16px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 8px 20px rgba(25,46,91,.045);
}
.stampyop-experience-number {
    color: #97a4bc;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .05em;
}
.stampyop-experience-step-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: #fff;
    background: linear-gradient(135deg,#2f6df6,#6a5df7);
    font-size: 18px;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(47,109,246,.20);
}
.stampyop-experience-step:nth-child(2) .stampyop-experience-step-icon { background: linear-gradient(135deg,#18a99d,#38cdd4); }
.stampyop-experience-step:nth-child(3) .stampyop-experience-step-icon { background: linear-gradient(135deg,#7c4df5,#9b6cff); }
.stampyop-experience-step strong,
.stampyop-experience-step small { display: block; }
.stampyop-experience-step strong { color: #17233c; font-size: 13px; }
.stampyop-experience-step small { margin-top: 2px; color: #78869d; font-size: 10px; }
.stampyop-experience-support {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    gap: 11px;
    align-items: center;
    margin-top: 14px;
    padding: 12px 13px;
    border: 1px solid #e2e9f4;
    border-radius: 16px;
    background: linear-gradient(135deg,#f2f6ff,#f8f5ff);
}
.stampyop-experience-channels { display: flex; }
.stampyop-experience-channels span {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    margin-left: -6px;
    border: 2px solid #fff;
    border-radius: 50%;
    color: #fff;
    background: #5865f2;
    font-size: 9px;
    font-weight: 900;
}
.stampyop-experience-channels span:first-child { margin-left: 0; }
.stampyop-experience-channels span:nth-child(2) { background: #1dbf73; }
.stampyop-experience-channels span:nth-child(3) { background: #2f6df6; }
.stampyop-experience-support strong,
.stampyop-experience-support small { display: block; }
.stampyop-experience-support strong { color: #17233c; font-size: 12px; }
.stampyop-experience-support small { margin-top: 2px; color: #75839a; font-size: 9px; }
.stampyop-experience-online { padding: 6px 8px; color: #176743; background: #e7f9ef; }

/* Reviews: a premium contrast section instead of another white block. */
.stampyop-store-theme .stampyop-reviews-section {
    padding-top: 92px;
    padding-bottom: 92px;
    background: #f6f8fc;
}
.stampyop-store-theme .stampyop-reviews-section .stampyop-shell {
    position: relative;
    overflow: hidden;
    padding: 56px;
    border-radius: 32px;
    background:
        radial-gradient(circle at 8% 0%, rgba(77,128,255,.24), transparent 26%),
        radial-gradient(circle at 92% 100%, rgba(127,80,255,.18), transparent 30%),
        linear-gradient(135deg,#0b1733 0%,#14295a 62%,#203e82 100%);
    box-shadow: 0 28px 70px rgba(18,38,81,.15);
}
.stampyop-store-theme .stampyop-reviews-section .stampyop-kicker {
    color: #c8d9ff;
    background: rgba(255,255,255,.09);
    border: 1px solid rgba(255,255,255,.10);
}
.stampyop-store-theme .stampyop-reviews-section .stampyop-section-heading h2 { color: #fff; }
.stampyop-store-theme .stampyop-reviews-section .stampyop-section-heading p { color: #bdc9e1; }
.stampyop-store-theme .stampyop-reviews-section .stampyop-section-action {
    color: #17233c !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.16) !important;
}
.stampyop-store-theme .stampyop-reviews-section .stampyop-section-action:hover {
    color: #2f6df6 !important;
    background: #fff !important;
}
.stampyop-store-theme .stampyop-review-highlights { gap: 18px; margin-top: 32px; }
.stampyop-store-theme .stampyop-review-card {
    min-height: 270px;
    padding: 27px;
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 22px;
    background: linear-gradient(160deg,#ffffff 0%,#f7f9ff 100%);
    box-shadow: 0 18px 38px rgba(3,14,38,.18);
    transition: transform .2s ease, box-shadow .2s ease;
}
.stampyop-store-theme .stampyop-review-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 48px rgba(3,14,38,.24);
}
.stampyop-store-theme .stampyop-review-card:nth-child(1) { border-top: 4px solid #4d7dff; }
.stampyop-store-theme .stampyop-review-card:nth-child(2) { border-top: 4px solid #31c7cd; }
.stampyop-store-theme .stampyop-review-card:nth-child(3) { border-top: 4px solid #8b63f8; }
.stampyop-store-theme .stampyop-review-card::before { color: #e7ecf7; }
.stampyop-store-theme .stampyop-review-card .stampyop-review-text p {
    color: #25344f;
    font-size: 16px;
    line-height: 1.7;
}
.stampyop-store-theme .stampyop-review-source {
    border-color: #dbe4f4;
    color: #53627c;
    background: #f7f9fd;
}
.stampyop-store-theme .stampyop-review-card > strong { font-size: 15px; }

/* Blog: stronger visual container and editorial cards. */
.stampyop-store-theme .stampyop-blog-section {
    padding-top: 92px;
    padding-bottom: 92px;
    background: #fff;
}
.stampyop-store-theme .stampyop-blog-section .stampyop-shell {
    position: relative;
    overflow: hidden;
    padding: 56px;
    border: 1px solid #e1e8f4;
    border-radius: 32px;
    background:
        radial-gradient(circle at 100% 0%, rgba(125,91,255,.10), transparent 28%),
        linear-gradient(135deg,#eef4ff 0%,#f7f5ff 58%,#f7fbff 100%);
}
.stampyop-store-theme .stampyop-blog-section .stampyop-section-heading { margin-bottom: 32px; }
.stampyop-store-theme .stampyop-blog-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 22px;
}
.stampyop-store-theme .stampyop-blog-card {
    overflow: hidden;
    border: 1px solid rgba(218,227,241,.9);
    border-radius: 22px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 14px 34px rgba(32,55,98,.08);
    transition: transform .22s ease, box-shadow .22s ease;
}
.stampyop-store-theme .stampyop-blog-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 45px rgba(32,55,98,.13);
}
.stampyop-store-theme .stampyop-blog-thumb {
    position: relative;
    display: block;
    min-height: 220px;
    background: #dfe8f7;
}
.stampyop-store-theme .stampyop-blog-thumb img {
    width: 100%;
    height: 230px;
    object-fit: cover;
}
.stampyop-store-theme .stampyop-blog-card-content { padding: 22px 23px 24px; }
.stampyop-store-theme .stampyop-blog-date {
    display: inline-flex;
    padding: 6px 9px;
    border-radius: 999px;
    color: #4668c7;
    background: #eef3ff;
    font-size: 10px;
    font-weight: 800;
}
.stampyop-store-theme .stampyop-blog-card h3 { margin-top: 13px; font-size: 19px; }
.stampyop-store-theme .stampyop-blog-card .stampyop-text-link { font-weight: 800; }

/* FAQ: a designed help panel rather than a plain list on white. */
.stampyop-store-theme .stampyop-faq-section {
    padding-top: 92px;
    padding-bottom: 92px;
    background: #f6f8fc;
}
.stampyop-store-theme .stampyop-faq-layout {
    position: relative;
    overflow: hidden;
    grid-template-columns: .82fr 1.18fr;
    gap: 58px;
    padding: 54px;
    border: 1px solid #dfe7f4;
    border-radius: 32px;
    background:
        radial-gradient(circle at 0% 0%, rgba(62,115,255,.15), transparent 30%),
        radial-gradient(circle at 100% 100%, rgba(135,89,255,.10), transparent 28%),
        linear-gradient(135deg,#edf4ff 0%,#f8f6ff 100%);
    box-shadow: 0 18px 46px rgba(24,45,86,.07);
}
.stampyop-store-theme .stampyop-faq-section .stampyop-section-heading h2 {
    max-width: 420px;
    font-size: clamp(38px,4.6vw,58px);
    line-height: .98;
    letter-spacing: -.045em;
}
.stampyop-store-theme .stampyop-faq-section .stampyop-section-heading p {
    max-width: 390px;
    margin-top: 18px;
    font-size: 16px;
    line-height: 1.65;
}
.stampyop-faq-support-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 22px;
    padding: 10px 13px;
    border: 1px solid #d2def5;
    border-radius: 12px;
    color: #315fcf;
    background: rgba(255,255,255,.72);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}
.stampyop-faq-support-link:hover { color: #214bb6; background: #fff; }
.stampyop-store-theme .stampyop-faq-list { gap: 12px; }
.stampyop-store-theme .stampyop-faq-item {
    overflow: hidden;
    border: 1px solid #dfe7f2;
    border-radius: 18px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 10px 24px rgba(34,55,96,.06);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.stampyop-store-theme .stampyop-faq-item:hover {
    transform: translateY(-2px);
    border-color: #c3d3f7;
    box-shadow: 0 15px 30px rgba(34,55,96,.09);
}
.stampyop-store-theme .stampyop-faq-item[open] {
    border-color: #aac2fb;
    box-shadow: 0 18px 34px rgba(47,109,246,.11);
}
.stampyop-store-theme .stampyop-faq-item summary {
    min-height: 72px;
    padding: 18px 20px;
    color: #17233b;
    font-size: 16px;
    font-weight: 800;
}
.stampyop-store-theme .stampyop-faq-item summary span {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    border-radius: 11px;
    color: #fff;
    background: linear-gradient(135deg,#2f6df6,#705cf6);
    font-size: 18px;
    line-height: 1;
    box-shadow: 0 7px 16px rgba(47,109,246,.19);
}
.stampyop-store-theme .stampyop-faq-item > div { padding: 0 20px 20px; color: #687792; }

@media (max-width: 1100px) {
    body.stampyop-store-theme .main-navigation .main-nav > ul > li.stampyop-contact-menu-item { margin-left: 28px !important; }
    body.stampyop-store-theme .main-navigation .main-nav > ul > li.stampyop-contact-menu-item::before { left: -14px; }
}
@media (max-width: 900px) {
    .stampyop-hero-experience { min-height: 410px; }
    .stampyop-store-theme .stampyop-reviews-section .stampyop-shell,
    .stampyop-store-theme .stampyop-blog-section .stampyop-shell,
    .stampyop-store-theme .stampyop-faq-layout { padding: 38px 28px; border-radius: 26px; }
    .stampyop-store-theme .stampyop-faq-layout { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 768px) {
    body.stampyop-store-theme .main-navigation .main-nav > ul > li.stampyop-contact-menu-item::before { display: none; }
    .stampyop-hero-experience { min-height: 0; margin-top: 8px; }
    .stampyop-experience-window { padding: 16px; border-radius: 24px; }
    .stampyop-experience-intro > strong { font-size: 20px; }
    .stampyop-store-theme .stampyop-reviews-section,
    .stampyop-store-theme .stampyop-blog-section,
    .stampyop-store-theme .stampyop-faq-section { padding-top: 74px; padding-bottom: 74px; }
    .stampyop-store-theme .stampyop-reviews-section .stampyop-shell,
    .stampyop-store-theme .stampyop-blog-section .stampyop-shell,
    .stampyop-store-theme .stampyop-faq-layout { padding: 30px 20px; border-radius: 22px; }
    .stampyop-store-theme .stampyop-reviews-section .stampyop-heading-row,
    .stampyop-store-theme .stampyop-blog-section .stampyop-heading-row { align-items: flex-start; }
    .stampyop-store-theme .stampyop-reviews-section .stampyop-section-action,
    .stampyop-store-theme .stampyop-blog-section .stampyop-section-action { margin-top: 16px; }
    .stampyop-store-theme .stampyop-blog-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .stampyop-experience-step { grid-template-columns: 25px 38px minmax(0,1fr); gap: 9px; padding: 10px; }
    .stampyop-experience-step-icon { width: 38px; height: 38px; border-radius: 11px; }
    .stampyop-experience-support { grid-template-columns: auto minmax(0,1fr); }
    .stampyop-experience-online { display: none; }
    .stampyop-store-theme .stampyop-faq-section .stampyop-section-heading h2 { font-size: 36px; }
}


/* ========================================================================== 
   v2.4 launch-polish pass
   Focus: remove duplicate product UI, strengthen shopping hierarchy, compact
   FAQ, tighten hero/header proportions, and make review cards more even.
   ========================================================================== */

/* Header: slightly stronger brand presence without making the navigation heavy. */
body.stampyop-store-theme .site-header .inside-header,
body.stampyop-store-theme .main-navigation .inside-navigation {
    min-height: 68px;
}
body.stampyop-store-theme .site-header .site-logo a::after {
    font-size: 26px;
    letter-spacing: -.045em;
}
body.stampyop-store-theme .main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav) {
    font-size: 14.5px;
}

/* Hero: keep the new design, but reveal the shopping section slightly sooner. */
.stampyop-store-theme .stampyop-hero {
    padding-top: 64px;
    padding-bottom: 78px;
}

/* Product grid: two current products should feel intentional rather than tiny in
   a large empty canvas. Future products still wrap cleanly. */
.stampyop-store-theme .stampyop-home-products .products {
    grid-template-columns: repeat(auto-fit, minmax(285px, 320px)) !important;
    gap: 28px !important;
}
.stampyop-store-theme .stampyop-home-products .products > li.product {
    min-height: 505px;
    padding: 18px !important;
}
.stampyop-store-theme .stampyop-home-products .product img {
    height: 170px !important;
}
.stampyop-store-theme .stampyop-home-products .product .woocommerce-loop-product__title {
    min-height: 38px !important;
}
.stampyop-store-theme .stampyop-home-products .stampyop-duration-wrap {
    min-height: 70px;
}
.stampyop-store-theme .stampyop-home-products .stampyop-card-price {
    min-height: 70px;
}
/* If legacy markup leaves a direct WooCommerce price in the card, the StampyOP
   picker price is the authoritative one. */
.stampyop-store-theme .stampyop-home-products .product > .price {
    display: none !important;
}

/* Homepage reviews: equal visual rhythm; full text remains available on Reviews. */
.stampyop-store-theme .stampyop-review-highlights .stampyop-review-card {
    min-height: 250px;
}
.stampyop-store-theme .stampyop-review-card .stampyop-review-text {
    min-height: 112px;
}
.stampyop-store-theme .stampyop-review-card .stampyop-review-text p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

/* FAQ: keep the styled panel, but make it faster to scan and less oversized. */
.stampyop-store-theme .stampyop-faq-layout {
    grid-template-columns: .9fr 1.1fr;
    gap: 44px;
    padding: 44px 48px;
}
.stampyop-store-theme .stampyop-faq-section .stampyop-section-heading h2 {
    max-width: 390px;
    font-size: clamp(34px, 4vw, 50px);
    line-height: 1;
}
.stampyop-store-theme .stampyop-faq-section .stampyop-section-heading p {
    margin-top: 14px;
    font-size: 15px;
}
.stampyop-store-theme .stampyop-faq-list {
    align-content: center;
    gap: 9px;
}
.stampyop-store-theme .stampyop-faq-item {
    border-radius: 15px;
}
.stampyop-store-theme .stampyop-faq-item summary {
    min-height: 56px;
    padding: 11px 14px 11px 17px;
    font-size: 14.5px;
}
.stampyop-store-theme .stampyop-faq-item summary span {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
    border-radius: 9px;
    font-size: 16px;
}
.stampyop-store-theme .stampyop-faq-item > div {
    padding: 0 17px 15px;
    font-size: 14px;
    line-height: 1.6;
}
.stampyop-faq-support-link {
    margin-top: 17px;
    padding: 9px 12px;
}

@media (max-width: 900px) {
    .stampyop-store-theme .stampyop-faq-layout {
        padding: 34px 26px;
        gap: 26px;
    }
}
@media (max-width: 768px) {
    body.stampyop-store-theme .site-header .site-logo a::after { font-size: 23px; }
    .stampyop-store-theme .stampyop-hero { padding-top: 48px; padding-bottom: 62px; }
    .stampyop-store-theme .stampyop-home-products .products {
        grid-template-columns: minmax(0, 1fr) !important;
        max-width: 360px;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .stampyop-store-theme .stampyop-home-products .products > li.product { min-height: 0; }
    .stampyop-store-theme .stampyop-review-card .stampyop-review-text { min-height: 0; }
    .stampyop-store-theme .stampyop-faq-layout { padding: 28px 18px; }
    .stampyop-store-theme .stampyop-faq-section .stampyop-section-heading h2 { font-size: 34px; }
}

/* ========================================================================== 
   v2.5 — customer-facing refinement pass
   Focus: header baseline, right-sized product cards, editorial blog treatment,
   and compact/help-centre FAQ rows. Functional product logic remains untouched.
   ========================================================================== */

/* Header: logo + all nav items + Contact CTA share one clean baseline. */
body.stampyop-store-theme .site-header .inside-header {
    display: flex !important;
    align-items: center !important;
    min-height: 70px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
body.stampyop-store-theme .site-header .site-logo {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    margin: 0 !important;
}
body.stampyop-store-theme .site-header .site-logo a,
body.stampyop-store-theme .site-header .site-logo a::after {
    line-height: 1 !important;
}
body.stampyop-store-theme .main-navigation {
    display: flex !important;
    align-items: center !important;
    align-self: stretch;
    margin-left: auto !important;
}
body.stampyop-store-theme .main-navigation .inside-navigation {
    display: flex !important;
    align-items: center !important;
    min-height: 70px;
    height: 70px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
body.stampyop-store-theme .main-navigation .main-nav,
body.stampyop-store-theme .main-navigation .main-nav > ul,
body.stampyop-store-theme .main-navigation .main-nav > ul > li {
    display: flex;
    align-items: center;
}
body.stampyop-store-theme .main-navigation .main-nav > ul {
    min-height: 70px;
}
body.stampyop-store-theme .main-navigation .main-nav > ul > li {
    min-height: 70px;
}
body.stampyop-store-theme .main-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav),
body.stampyop-store-theme .main-navigation .main-nav > ul > li > a.stampyop-contact-nav {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 44px;
    min-height: 44px !important;
    line-height: 1 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
body.stampyop-store-theme .main-navigation .main-nav > ul > li.stampyop-contact-menu-item {
    align-self: center;
    margin-left: 44px !important;
}
body.stampyop-store-theme .main-navigation .main-nav > ul > li.stampyop-contact-menu-item::before {
    top: 18px;
    bottom: 18px;
}
body.stampyop-store-theme .main-navigation .main-nav > ul > li.stampyop-contact-menu-item > a.stampyop-contact-nav {
    transform: none !important;
}

/* Featured products: compact enough to scan, still roomy enough to compare. */
.stampyop-store-theme .stampyop-home-products .products {
    grid-template-columns: repeat(auto-fit, minmax(238px, 268px)) !important;
    gap: 22px !important;
    max-width: 620px;
    margin-left: auto !important;
    margin-right: auto !important;
}
.stampyop-store-theme .stampyop-home-products .products > li.product {
    min-height: 452px;
    padding: 14px !important;
    border-radius: 19px !important;
}
.stampyop-store-theme .stampyop-home-products .product img {
    height: 136px !important;
    padding: 14px !important;
    margin-bottom: 11px !important;
    border-radius: 14px !important;
}
.stampyop-store-theme .stampyop-home-products .product .woocommerce-loop-product__title {
    min-height: 34px !important;
    margin-bottom: 3px !important;
    font-size: 15.5px !important;
}
.stampyop-store-theme .stampyop-home-products .stampyop-card-meta {
    min-height: 20px;
    margin-bottom: 7px;
    font-size: 11px;
}
.stampyop-store-theme .stampyop-home-products .stampyop-simple-picker-card .stampyop-option-label {
    margin-top: 5px;
    margin-bottom: 5px;
    font-size: 9px;
}
.stampyop-store-theme .stampyop-home-products .stampyop-option-button {
    min-height: 29px;
    padding: 5px 9px;
    font-size: 10px;
}
.stampyop-store-theme .stampyop-home-products .stampyop-duration-wrap {
    min-height: 58px;
}
.stampyop-store-theme .stampyop-home-products .stampyop-card-price {
    min-height: 62px;
    margin-top: auto;
    padding: 10px 12px;
    border-radius: 13px;
}
.stampyop-store-theme .stampyop-home-products .stampyop-price-value {
    font-size: 21px;
}
.stampyop-store-theme .stampyop-home-products .product .button.stampyop-details-button {
    min-height: 40px;
    margin-top: 9px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
}

/* Blog: turn the section into an editorial panel instead of another plain card row. */
.stampyop-store-theme .stampyop-blog-section {
    position: relative;
    overflow: hidden;
    padding-top: 90px;
    padding-bottom: 90px;
    background:
        radial-gradient(circle at 8% 14%, rgba(47,109,246,.09), transparent 24%),
        radial-gradient(circle at 94% 82%, rgba(124,77,255,.09), transparent 25%),
        #f5f7fb;
}
.stampyop-store-theme .stampyop-blog-section .stampyop-shell {
    display: grid;
    grid-template-columns: minmax(250px,.72fr) minmax(0,1.55fr);
    gap: 28px;
    align-items: stretch;
    padding: 26px;
    border: 1px solid #dce5f2;
    border-radius: 30px;
    background: rgba(255,255,255,.68);
    box-shadow: 0 22px 60px rgba(21,38,73,.08);
    backdrop-filter: blur(12px);
}
.stampyop-store-theme .stampyop-blog-section .stampyop-heading-row {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    min-height: 100%;
    margin: 0;
    padding: 34px;
    border-radius: 24px;
    color: #fff;
    background:
        radial-gradient(circle at 90% 0%, rgba(95,110,255,.38), transparent 32%),
        radial-gradient(circle at 5% 95%, rgba(35,196,215,.20), transparent 30%),
        linear-gradient(145deg,#0c1834 0%,#173874 100%);
    box-shadow: 0 18px 42px rgba(10,24,53,.18);
}
.stampyop-store-theme .stampyop-blog-section .stampyop-heading-row::after {
    content: "";
    position: absolute;
    width: 160px;
    height: 160px;
    right: -58px;
    bottom: -70px;
    border-radius: 50%;
    border: 28px solid rgba(255,255,255,.06);
}
.stampyop-store-theme .stampyop-blog-section .stampyop-kicker {
    color: #cfe0ff;
    background: rgba(255,255,255,.10);
}
.stampyop-store-theme .stampyop-blog-section .stampyop-section-heading h2 {
    max-width: 260px;
    margin-top: 18px;
    color: #fff;
    font-size: clamp(34px,3.4vw,46px);
    line-height: .98;
}
.stampyop-store-theme .stampyop-blog-section .stampyop-section-heading p {
    max-width: 280px;
    color: #c9d6ec;
    font-size: 14px;
    line-height: 1.65;
}
.stampyop-store-theme .stampyop-blog-section .stampyop-section-action {
    position: relative;
    z-index: 1;
    margin-top: 28px;
    color: #0f2248 !important;
    background: #fff !important;
    box-shadow: 0 10px 26px rgba(0,0,0,.14);
}
.stampyop-store-theme .stampyop-blog-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px;
    align-content: stretch;
}
.stampyop-store-theme .stampyop-blog-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dfe6f1;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(27,48,88,.08);
}
.stampyop-store-theme .stampyop-blog-card::after {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: linear-gradient(90deg,#2f6df6,#23c4d7,#7c4dff);
}
.stampyop-store-theme .stampyop-blog-thumb {
    min-height: 0;
    aspect-ratio: 1.55/1;
}
.stampyop-store-theme .stampyop-blog-thumb img {
    height: 100%;
    min-height: 0;
    object-fit: cover;
}
.stampyop-store-theme .stampyop-blog-card-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 18px 19px 20px;
}
.stampyop-store-theme .stampyop-blog-date {
    align-self: flex-start;
    padding: 5px 9px;
    border: 1px solid #dce6fb;
    color: #2e5ec7;
    background: #f2f6ff;
}
.stampyop-store-theme .stampyop-blog-card h3 {
    margin: 12px 0 8px;
    font-size: 18px;
    line-height: 1.3;
    letter-spacing: -.015em;
}
.stampyop-store-theme .stampyop-blog-card p {
    margin-bottom: 16px;
    color: #6f7e98;
    font-size: 13.5px;
    line-height: 1.6;
}
.stampyop-store-theme .stampyop-blog-card .stampyop-text-link {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 8px 11px;
    border-radius: 10px;
    color: #2f63db;
    background: #edf3ff;
    text-decoration: none;
}

/* FAQ: compact help-centre layout; every question is vertically centred. */
.stampyop-store-theme .stampyop-faq-section {
    padding-top: 86px;
    padding-bottom: 86px;
    background: #f5f7fb;
}
.stampyop-store-theme .stampyop-faq-layout {
    grid-template-columns: minmax(250px,.78fr) minmax(0,1.22fr);
    gap: 26px;
    padding: 24px;
    border: 1px solid #dde6f3;
    border-radius: 28px;
    background: linear-gradient(135deg,#eef4ff 0%,#f7f4ff 100%);
    box-shadow: 0 18px 44px rgba(27,48,88,.07);
}
.stampyop-store-theme .stampyop-faq-section .stampyop-section-heading {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-height: 250px;
    padding: 30px;
    border-radius: 22px;
    color: #fff;
    background:
        radial-gradient(circle at 100% 0%, rgba(88,114,255,.35), transparent 32%),
        linear-gradient(145deg,#0e1934 0%,#1a3a7b 100%);
}
.stampyop-store-theme .stampyop-faq-section .stampyop-kicker {
    color: #d7e4ff;
    background: rgba(255,255,255,.10);
}
.stampyop-store-theme .stampyop-faq-section .stampyop-section-heading h2 {
    max-width: 300px;
    margin-top: 15px;
    color: #fff;
    font-size: clamp(32px,3.6vw,44px);
    line-height: .98;
}
.stampyop-store-theme .stampyop-faq-section .stampyop-section-heading p {
    max-width: 300px;
    margin-top: 13px;
    color: #c7d4eb;
    font-size: 13.5px;
    line-height: 1.58;
}
.stampyop-store-theme .stampyop-faq-support-link {
    margin-top: 16px;
    padding: 8px 11px;
    border-color: rgba(255,255,255,.16);
    color: #fff;
    background: rgba(255,255,255,.10);
}
.stampyop-store-theme .stampyop-faq-support-link:hover {
    color: #fff;
    background: rgba(255,255,255,.18);
}
.stampyop-store-theme .stampyop-faq-list {
    display: grid;
    align-content: center;
    gap: 8px;
}
.stampyop-store-theme .stampyop-faq-item {
    border: 1px solid #dce5f2;
    border-radius: 14px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 8px 20px rgba(28,48,85,.055);
}
.stampyop-store-theme .stampyop-faq-item:hover {
    transform: translateY(-1px);
    border-color: #c5d5f7;
    box-shadow: 0 11px 24px rgba(28,48,85,.08);
}
.stampyop-store-theme .stampyop-faq-item summary {
    box-sizing: border-box;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between;
    gap: 14px;
    min-height: 48px;
    padding: 0 11px 0 16px !important;
    color: #17233b;
    font-size: 13.5px;
    line-height: 1.25;
    font-weight: 800;
}
.stampyop-store-theme .stampyop-faq-item summary span {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    flex: 0 0 26px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1;
    box-shadow: 0 5px 12px rgba(47,109,246,.17);
}
.stampyop-store-theme .stampyop-faq-item > div {
    padding: 2px 16px 14px;
    color: #697894;
    font-size: 13px;
    line-height: 1.55;
}

@media (max-width: 1080px) {
    body.stampyop-store-theme .main-navigation .main-nav > ul > li.stampyop-contact-menu-item {
        margin-left: 26px !important;
    }
    .stampyop-store-theme .stampyop-blog-section .stampyop-shell {
        grid-template-columns: 1fr;
    }
    .stampyop-store-theme .stampyop-blog-section .stampyop-heading-row {
        min-height: auto;
    }
}
@media (max-width: 900px) {
    .stampyop-store-theme .stampyop-faq-layout {
        grid-template-columns: 1fr;
    }
    .stampyop-store-theme .stampyop-faq-section .stampyop-section-heading {
        min-height: 0;
    }
}
@media (max-width: 768px) {
    body.stampyop-store-theme .site-header .inside-header,
    body.stampyop-store-theme .main-navigation .inside-navigation {
        min-height: initial;
        height: auto;
    }
    body.stampyop-store-theme .main-navigation {
        align-self: auto;
    }
    body.stampyop-store-theme .main-navigation .main-nav > ul > li,
    body.stampyop-store-theme .main-navigation .main-nav > ul {
        min-height: 0;
    }
    body.stampyop-store-theme .main-navigation .main-nav > ul > li.stampyop-contact-menu-item {
        margin-left: 0 !important;
    }
    .stampyop-store-theme .stampyop-home-products .products {
        max-width: 320px;
        grid-template-columns: minmax(0,1fr) !important;
    }
    .stampyop-store-theme .stampyop-blog-section,
    .stampyop-store-theme .stampyop-faq-section {
        padding-top: 70px;
        padding-bottom: 70px;
    }
    .stampyop-store-theme .stampyop-blog-section .stampyop-shell,
    .stampyop-store-theme .stampyop-faq-layout {
        padding: 18px;
        border-radius: 22px;
    }
    .stampyop-store-theme .stampyop-blog-section .stampyop-heading-row,
    .stampyop-store-theme .stampyop-faq-section .stampyop-section-heading {
        padding: 24px;
        border-radius: 18px;
    }
    .stampyop-store-theme .stampyop-blog-grid {
        grid-template-columns: 1fr;
    }
    .stampyop-store-theme .stampyop-faq-item summary {
        min-height: 50px;
        padding-left: 14px !important;
    }
}

/* ========================================================================== 
   v2.5.1 — targeted header + scalable FAQ hotfix
   Base remains v2.5. No homepage redesign in this patch.
   ========================================================================== */

/* GeneratePress Premium can create a sticky navigation clone. Earlier StampyOP
   display:flex overrides made that clone visible at the same time as the real
   header, producing two identical header/menu rows. Keep only the real header. */
body.stampyop-store-theme .main-navigation.navigation-clone,
body.stampyop-store-theme .main-navigation.navigation-stick.navigation-clone {
    display: none !important;
}
body.stampyop-store-theme .site-header {
    position: relative !important;
    top: auto !important;
}
body.admin-bar.stampyop-store-theme .site-header {
    top: auto !important;
}

/* Keep the real header as one clean line without affecting any generated clone. */
body.stampyop-store-theme .site-header .inside-header {
    display: flex !important;
    align-items: center !important;
    min-height: 70px;
}
body.stampyop-store-theme .site-header .main-navigation {
    display: flex !important;
    align-items: center !important;
    align-self: center !important;
    margin-left: auto !important;
}
body.stampyop-store-theme .site-header .main-navigation .inside-navigation,
body.stampyop-store-theme .site-header .main-navigation .main-nav,
body.stampyop-store-theme .site-header .main-navigation .main-nav > ul,
body.stampyop-store-theme .site-header .main-navigation .main-nav > ul > li {
    align-items: center !important;
}

/* FAQ is content-driven: the right column can grow to any number of questions
   while the intro stays tidy at the top. Closed rows remain compact. */
.stampyop-store-theme .stampyop-faq-layout {
    align-items: start !important;
}
.stampyop-store-theme .stampyop-faq-section .stampyop-section-heading {
    align-self: start !important;
    justify-content: flex-start !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 28px !important;
}
.stampyop-store-theme .stampyop-faq-list {
    width: 100%;
    align-content: start !important;
    gap: 8px !important;
}
.stampyop-store-theme .stampyop-faq-item {
    overflow: hidden;
}
.stampyop-store-theme .stampyop-faq-item summary {
    min-height: 46px !important;
    padding: 0 12px 0 16px !important;
    line-height: 1.3 !important;
}
.stampyop-store-theme .stampyop-faq-item summary span {
    width: 25px !important;
    height: 25px !important;
    flex-basis: 25px !important;
}
.stampyop-store-theme .stampyop-faq-item > div {
    padding: 2px 16px 14px !important;
}
@media (max-width: 900px) {
    .stampyop-store-theme .stampyop-faq-layout {
        grid-template-columns: 1fr !important;
    }
    .stampyop-store-theme .stampyop-faq-section .stampyop-section-heading {
        padding: 24px !important;
    }
}

/* ========================================================================== 
   v2.5.2 — single-header + responsive hardening
   Keep the v2.5 visual design. This patch only stabilizes navigation and
   responsive behavior across desktop, tablet and mobile.
   ========================================================================== */

/* Only the canonical GeneratePress navigation is allowed to render. Premium
   sticky/mobile clones are useful when left to GeneratePress, but earlier
   global StampyOP flex overrides could force those hidden clones onscreen. */
body.stampyop-store-theme #sticky-navigation,
body.stampyop-store-theme #mobile-header,
body.stampyop-store-theme nav.main-navigation.navigation-clone,
body.stampyop-store-theme nav.main-navigation.navigation-stick:not(#site-navigation),
body.stampyop-store-theme nav.main-navigation[id*="sticky"]:not(#site-navigation) {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

/* Prevent an old forced display rule from resurrecting non-primary navs. */
body.stampyop-store-theme nav.main-navigation:not(#site-navigation) {
    display: none !important;
}

/* Desktop / laptop: one balanced header line. */
body.stampyop-store-theme .site-header {
    position: relative !important;
    top: auto !important;
    z-index: 120 !important;
    width: 100%;
    background: rgba(255,255,255,.97) !important;
}
body.admin-bar.stampyop-store-theme .site-header { top: auto !important; }
body.stampyop-store-theme .site-header .inside-header {
    position: relative;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px;
    width: min(calc(100% - 40px), 1180px);
    max-width: 1180px !important;
    min-height: 68px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}
body.stampyop-store-theme .site-header .site-logo {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto;
    margin: 0 !important;
}
body.stampyop-store-theme .site-header .site-logo a::after {
    font-size: 24px !important;
    line-height: 1 !important;
}
body.stampyop-store-theme #site-navigation {
    display: flex !important;
    align-items: center !important;
    align-self: center !important;
    flex: 0 1 auto;
    width: auto !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
body.stampyop-store-theme #site-navigation .inside-navigation {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    min-height: 68px !important;
    height: 68px !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.stampyop-store-theme #site-navigation .menu-toggle {
    display: none !important;
}
body.stampyop-store-theme #site-navigation .main-nav,
body.stampyop-store-theme #site-navigation .main-nav > ul,
body.stampyop-store-theme #site-navigation .main-nav > ul > li {
    display: flex !important;
    align-items: center !important;
}
body.stampyop-store-theme #site-navigation .main-nav > ul {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 3px !important;
    min-height: 0 !important;
    margin: 0 !important;
}
body.stampyop-store-theme #site-navigation .main-nav > ul > li {
    min-height: 0 !important;
}
body.stampyop-store-theme #site-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 11px !important;
    line-height: 1 !important;
    white-space: nowrap;
}
body.stampyop-store-theme #site-navigation .main-nav > ul > li.stampyop-contact-menu-item {
    display: flex !important;
    align-items: center !important;
    min-height: 0 !important;
    margin-left: 28px !important;
    padding-left: 0 !important;
}
body.stampyop-store-theme #site-navigation .main-nav > ul > li.stampyop-contact-menu-item > a.stampyop-contact-nav {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 19px !important;
    line-height: 1 !important;
    white-space: nowrap;
}

/* General responsive safety. */
body.stampyop-store-theme,
body.stampyop-store-theme .stampyop-home {
    overflow-x: clip;
}
body.stampyop-store-theme .stampyop-shell {
    width: min(calc(100% - 40px), 1180px);
}
body.stampyop-store-theme img {
    max-width: 100%;
    height: auto;
}

/* Smaller laptops: keep the full navigation but tighten it gracefully. */
@media (max-width: 1080px) and (min-width: 861px) {
    body.stampyop-store-theme .site-header .inside-header {
        width: min(calc(100% - 30px), 1020px);
        gap: 14px;
    }
    body.stampyop-store-theme .site-header .site-logo a::after {
        font-size: 21px !important;
    }
    body.stampyop-store-theme #site-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav) {
        padding-left: 8px !important;
        padding-right: 8px !important;
        font-size: 12px !important;
    }
    body.stampyop-store-theme #site-navigation .main-nav > ul > li.stampyop-contact-menu-item {
        margin-left: 14px !important;
    }
    body.stampyop-store-theme #site-navigation .main-nav > ul > li.stampyop-contact-menu-item > a.stampyop-contact-nav {
        padding-left: 14px !important;
        padding-right: 14px !important;
        font-size: 12px !important;
    }
}

/* Tablet + mobile: use the real GeneratePress menu toggle, not a cloned header. */
@media (max-width: 860px) {
    body.stampyop-store-theme .site-header {
        position: relative !important;
        top: auto !important;
    }
    body.stampyop-store-theme .site-header .inside-header {
        width: min(calc(100% - 28px), 820px);
        min-height: 62px !important;
        padding: 0 !important;
    }
    body.stampyop-store-theme .site-header .site-logo a::after {
        font-size: 22px !important;
    }
    body.stampyop-store-theme #site-navigation {
        position: static !important;
        display: flex !important;
        flex: 0 0 auto;
        margin-left: auto !important;
    }
    body.stampyop-store-theme #site-navigation .inside-navigation {
        position: static !important;
        display: flex !important;
        min-height: 62px !important;
        height: 62px !important;
    }
    body.stampyop-store-theme #site-navigation .menu-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid #dce5f2 !important;
        border-radius: 12px !important;
        color: #0d1831 !important;
        background: #f7f9fd !important;
        line-height: 1 !important;
    }
    body.stampyop-store-theme #site-navigation .main-nav {
        position: absolute !important;
        z-index: 9999;
        top: calc(100% - 2px);
        right: 0;
        left: 0;
        width: 100%;
        margin: 0 !important;
    }
    body.stampyop-store-theme #site-navigation .main-nav > ul {
        display: none !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 2px !important;
        width: 100%;
        max-height: calc(100vh - 100px);
        overflow-y: auto;
        margin: 0 !important;
        padding: 10px !important;
        border: 1px solid #dce5f2;
        border-radius: 0 0 18px 18px;
        background: #fff !important;
        box-shadow: 0 20px 44px rgba(13,24,49,.14);
    }
    body.stampyop-store-theme #site-navigation.toggled .main-nav > ul,
    body.stampyop-store-theme #site-navigation .main-nav.toggled > ul {
        display: flex !important;
    }
    body.stampyop-store-theme #site-navigation .main-nav > ul > li {
        display: block !important;
        width: 100%;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    body.stampyop-store-theme #site-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav) {
        justify-content: flex-start !important;
        width: 100%;
        height: auto !important;
        min-height: 44px !important;
        padding: 11px 13px !important;
        border-radius: 10px;
        font-size: 14px !important;
    }
    body.stampyop-store-theme #site-navigation .main-nav > ul > li.stampyop-contact-menu-item {
        display: block !important;
        width: 100%;
        margin: 5px 0 0 !important;
        padding: 0 !important;
    }
    body.stampyop-store-theme #site-navigation .main-nav > ul > li.stampyop-contact-menu-item::before {
        display: none !important;
    }
    body.stampyop-store-theme #site-navigation .main-nav > ul > li.stampyop-contact-menu-item > a.stampyop-contact-nav {
        width: 100%;
        min-height: 44px !important;
        height: auto !important;
        margin: 0 !important;
        padding: 12px 16px !important;
    }

    body.stampyop-store-theme .stampyop-shell {
        width: min(calc(100% - 32px), 820px);
    }
    .stampyop-store-theme .stampyop-hero-grid,
    .stampyop-store-theme .stampyop-about-grid,
    .stampyop-store-theme .stampyop-faq-layout {
        grid-template-columns: 1fr !important;
    }
    .stampyop-store-theme .stampyop-hero-copy {
        text-align: center;
    }
    .stampyop-store-theme .stampyop-hero-copy > p {
        margin-right: auto;
        margin-left: auto;
    }
    .stampyop-store-theme .stampyop-hero-actions,
    .stampyop-store-theme .stampyop-hero-proof {
        justify-content: center;
    }
    .stampyop-store-theme .stampyop-trust-grid {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }
    .stampyop-store-theme .stampyop-home-products .products {
        grid-template-columns: repeat(2,minmax(0,268px)) !important;
        justify-content: center !important;
        max-width: 590px !important;
    }
    .stampyop-store-theme .stampyop-review-grid,
    .stampyop-store-theme .stampyop-blog-grid {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }
    .stampyop-store-theme .stampyop-contact-box {
        grid-template-columns: 1fr !important;
    }
    .stampyop-store-theme .stampyop-contact-actions {
        grid-template-columns: repeat(3,minmax(0,1fr)) !important;
        width: 100%;
    }
}

/* Phones: comfortable one-column reading and tap targets. */
@media (max-width: 620px) {
    body.stampyop-store-theme .stampyop-shell {
        width: min(calc(100% - 24px), 580px);
    }
    .stampyop-store-theme .stampyop-hero {
        padding: 44px 0 58px !important;
    }
    .stampyop-store-theme .stampyop-hero h1 {
        font-size: clamp(38px,12vw,50px) !important;
        line-height: .98 !important;
    }
    .stampyop-store-theme .stampyop-hero-experience {
        min-width: 0;
        width: 100%;
    }
    .stampyop-store-theme .stampyop-experience-window {
        width: 100%;
        max-width: 100%;
        padding: 18px !important;
    }
    .stampyop-store-theme .stampyop-trust-grid {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        gap: 8px !important;
    }
    .stampyop-store-theme .stampyop-trust-item {
        min-width: 0;
        padding: 13px 10px !important;
    }
    .stampyop-store-theme .stampyop-trust-item h3 {
        font-size: 12px !important;
    }
    .stampyop-store-theme .stampyop-trust-item p {
        font-size: 10px !important;
        line-height: 1.35 !important;
    }
    .stampyop-store-theme .stampyop-section {
        padding-top: 62px !important;
        padding-bottom: 62px !important;
    }
    .stampyop-store-theme .stampyop-section-heading h2,
    .stampyop-store-theme .stampyop-about-section h2 {
        font-size: clamp(31px,9vw,40px) !important;
    }
    .stampyop-store-theme .stampyop-product-search {
        width: 100%;
        max-width: 100%;
    }
    .stampyop-store-theme .stampyop-home-products .products {
        grid-template-columns: minmax(0,330px) !important;
        max-width: 350px !important;
        gap: 18px !important;
    }
    .stampyop-store-theme .stampyop-review-grid,
    .stampyop-store-theme .stampyop-blog-grid {
        grid-template-columns: 1fr !important;
    }
    .stampyop-store-theme .stampyop-review-highlights .stampyop-review-card:nth-child(n+3) {
        display: block !important;
    }
    .stampyop-store-theme .stampyop-faq-section .stampyop-section-heading {
        padding: 22px !important;
    }
    .stampyop-store-theme .stampyop-faq-item summary {
        min-height: 46px !important;
        padding: 10px 10px 10px 13px !important;
        font-size: 13px !important;
    }
    .stampyop-store-theme .stampyop-contact-actions {
        grid-template-columns: 1fr !important;
    }
    .stampyop-store-theme .stampyop-contact-link {
        width: 100%;
    }
}

@media (max-width: 390px) {
    .stampyop-store-theme .stampyop-trust-grid {
        grid-template-columns: 1fr !important;
    }
    body.stampyop-store-theme .site-header .inside-header {
        width: calc(100% - 20px);
    }
}

/* v2.5.3: product-specific file packages (e.g. Turnitin) */
.stampyop-package-picker {
    margin-top: 2px;
}
.stampyop-package-picker-card {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}
.stampyop-package-picker-card .stampyop-package-options .stampyop-option-button {
    flex: 1 1 auto;
    min-width: 0;
    text-align: center;
}
.stampyop-package-picker-single {
    margin: 18px 0 20px;
    padding: 18px;
    border: 1px solid var(--st-border);
    border-radius: 14px;
    background: #f8fafc;
}
.stampyop-package-picker-single .stampyop-option-label,
.stampyop-package-picker-single .stampyop-option-group {
    margin-left: 0;
    margin-right: 0;
}
.stampyop-package-picker-single .stampyop-card-price {
    margin: 14px 0 0 !important;
    background: #fff !important;
}
.stampyop-store-theme .stampyop-package-picker-card .stampyop-option-group {
    min-height: 33px;
    margin-left: 5px;
    margin-right: 5px;
}
.stampyop-store-theme .stampyop-package-picker-card .stampyop-card-price {
    min-height: 72px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: auto 5px 13px !important;
}
.single-product .stampyop-package-picker-single {
    width: 100%;
}
@media (max-width: 620px) {
    .stampyop-package-picker-card .stampyop-package-options {
        gap: 6px;
    }
    .stampyop-package-picker-card .stampyop-package-options .stampyop-option-button {
        padding-right: 8px;
        padding-left: 8px;
    }
}

/* ========================================================================== 
   v2.5.4 — catalog scale pass
   Homepage: 4 columns x 2 rows (max 8 Featured products).
   Products page: 4-column desktop catalog, 2-column tablet, 1-column phone.
   ========================================================================== */

/* Homepage: intentionally use the full content width when enough products exist. */
@media (min-width: 1025px) {
    body.stampyop-store-theme .stampyop-home-products .products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 20px !important;
        width: 100%;
        max-width: 1120px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    body.stampyop-store-theme .stampyop-home-products .products > li.product {
        min-width: 0;
        width: auto !important;
    }
}

/* Tablet: two comfortable cards per row. */
@media (min-width: 621px) and (max-width: 1024px) {
    body.stampyop-store-theme .stampyop-home-products .products,
    body.stampyop-store-theme.woocommerce-shop ul.products,
    body.stampyop-store-theme.tax-product_cat ul.products,
    body.stampyop-store-theme.tax-product_tag ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        max-width: 720px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Products archive: 4 across is the best balance for option-heavy cards. */
@media (min-width: 1025px) {
    body.stampyop-store-theme.woocommerce-shop ul.products,
    body.stampyop-store-theme.tax-product_cat ul.products,
    body.stampyop-store-theme.tax-product_tag ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 22px !important;
    }
}

/* Phone: one card per row with full readable controls. */
@media (max-width: 620px) {
    body.stampyop-store-theme .stampyop-home-products .products,
    body.stampyop-store-theme.woocommerce-shop ul.products,
    body.stampyop-store-theme.tax-product_cat ul.products,
    body.stampyop-store-theme.tax-product_tag ul.products {
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100%;
        max-width: 360px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* ========================================================================== 
   v2.5.6 — single product UX polish
   Scope: individual WooCommerce product pages only. Homepage/catalog untouched.
   ========================================================================== */
body.stampyop-store-theme.single-product {
    background: #f5f7fb;
}
body.stampyop-store-theme.single-product .site-main {
    max-width: 1160px !important;
    padding-top: 34px !important;
}
body.stampyop-store-theme.single-product div.product.type-product {
    grid-template-columns: minmax(0, .92fr) minmax(380px, 1.08fr) !important;
    gap: 48px !important;
    padding: 30px !important;
    border: 1px solid #dfe6f1 !important;
    border-radius: 24px !important;
    box-shadow: 0 22px 55px rgba(15, 23, 42, .07) !important;
}
body.stampyop-store-theme.single-product div.product div.images {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 430px;
    border: 1px solid #e6ebf3;
    border-radius: 20px;
    background: linear-gradient(145deg, #f8fafc 0%, #eef4ff 100%);
    overflow: hidden;
}
body.stampyop-store-theme.single-product div.product div.images img {
    width: auto !important;
    max-width: min(100%, 420px) !important;
    max-height: 420px !important;
    padding: 24px !important;
    background: transparent !important;
    border-radius: 18px !important;
}
body.stampyop-store-theme.single-product div.product .summary {
    align-self: center;
    padding: 2px 0 !important;
}
body.stampyop-store-theme.single-product div.product .product_title {
    margin-bottom: 10px !important;
    font-size: clamp(34px, 3.8vw, 48px) !important;
    line-height: 1.04 !important;
}
body.stampyop-store-theme.single-product .stampyop-single-context {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 20px;
}
body.stampyop-store-theme.single-product .stampyop-single-context-item {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 10px;
    border: 1px solid #dce5f3;
    border-radius: 999px;
    background: #f8fbff;
    color: #52627b;
    font-size: 12px;
    font-weight: 700;
}
body.stampyop-store-theme.single-product .woocommerce-product-details__short-description {
    margin: 0 0 18px;
    color: #5d6b82;
    font-size: 15px;
    line-height: 1.7;
}
body.stampyop-store-theme.single-product .stampyop-simple-picker-single,
body.stampyop-store-theme.single-product .stampyop-package-picker-single {
    margin: 0 0 16px !important;
    padding: 20px !important;
    border: 1px solid #dde5f0 !important;
    border-radius: 18px !important;
    background: #f8faff !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
body.stampyop-store-theme.single-product .stampyop-picker-heading {
    margin: 0 0 16px !important;
    color: #10182d;
    font-size: 19px !important;
    font-weight: 800 !important;
    letter-spacing: -.015em;
}
body.stampyop-store-theme.single-product .stampyop-option-label {
    margin-bottom: 7px !important;
    color: #66758d !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase;
}
body.stampyop-store-theme.single-product .stampyop-option-group {
    gap: 8px !important;
}
body.stampyop-store-theme.single-product .stampyop-option-button {
    min-height: 40px !important;
    padding: 8px 14px !important;
    border-radius: 10px !important;
    font-weight: 750 !important;
}
body.stampyop-store-theme.single-product .stampyop-simple-picker-single .stampyop-card-price,
body.stampyop-store-theme.single-product .stampyop-package-picker-single .stampyop-card-price {
    min-height: 78px !important;
    margin-top: 16px !important;
    padding: 14px 16px !important;
    border: 1px solid #e0e7f1;
    border-radius: 14px;
    background: #fff !important;
}
body.stampyop-store-theme.single-product .stampyop-price-value {
    color: #0b1530 !important;
    font-size: 25px !important;
    line-height: 1.1;
}
body.stampyop-store-theme.single-product form.cart {
    gap: 0 !important;
}
body.stampyop-store-theme.single-product form.cart .single_add_to_cart_button {
    width: 100% !important;
    min-height: 54px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #2468f2 0%, #5b50f4 100%) !important;
    box-shadow: 0 10px 24px rgba(52, 94, 236, .22);
    font-size: 16px !important;
    font-weight: 800 !important;
}
body.stampyop-store-theme.single-product form.cart .single_add_to_cart_button:hover {
    transform: translateY(-1px);
    box-shadow: 0 13px 28px rgba(52, 94, 236, .28);
}
body.stampyop-store-theme.single-product .stampyop-purchase-reassurance {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    margin-top: 11px;
}
body.stampyop-store-theme.single-product .stampyop-purchase-reassurance span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 8px 9px;
    border: 1px solid #e0e7f1;
    border-radius: 10px;
    background: #fff;
    color: #5c6980;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.35;
    text-align: center;
}
body.stampyop-store-theme.single-product div.product.type-product .stampyop-product-details-panel {
    margin-top: 4px !important;
    padding-top: 30px !important;
    border-top-color: #e2e8f0 !important;
}
body.stampyop-store-theme.single-product .stampyop-product-details-panel h3 {
    margin-bottom: 18px !important;
    font-size: 27px !important;
    letter-spacing: -.025em;
}
body.stampyop-store-theme.single-product .stampyop-product-details-copy {
    max-width: 920px !important;
    color: #3e4c63 !important;
    font-size: 16px !important;
    line-height: 1.82 !important;
}
body.stampyop-store-theme.single-product .stampyop-product-details-copy ul,
body.stampyop-store-theme.single-product .stampyop-product-details-copy ol {
    margin: 14px 0 18px 22px;
}
body.stampyop-store-theme.single-product .stampyop-product-details-copy li {
    margin: 7px 0;
}

@media (max-width: 900px) {
    body.stampyop-store-theme.single-product div.product.type-product {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding: 20px !important;
    }
    body.stampyop-store-theme.single-product div.product div.images {
        min-height: 340px;
    }
    body.stampyop-store-theme.single-product div.product div.images img {
        max-height: 340px !important;
    }
    body.stampyop-store-theme.single-product div.product .summary {
        align-self: stretch;
    }
}
@media (max-width: 620px) {
    body.stampyop-store-theme.single-product .site-main {
        padding: 16px 10px 44px !important;
    }
    body.stampyop-store-theme.single-product div.product.type-product {
        gap: 18px !important;
        padding: 14px !important;
        border-radius: 18px !important;
    }
    body.stampyop-store-theme.single-product div.product div.images {
        min-height: 280px;
        border-radius: 15px;
    }
    body.stampyop-store-theme.single-product div.product div.images img {
        max-height: 280px !important;
        padding: 16px !important;
    }
    body.stampyop-store-theme.single-product div.product .product_title {
        font-size: 31px !important;
    }
    body.stampyop-store-theme.single-product .stampyop-simple-picker-single,
    body.stampyop-store-theme.single-product .stampyop-package-picker-single {
        padding: 15px !important;
    }
    body.stampyop-store-theme.single-product .stampyop-purchase-reassurance {
        grid-template-columns: 1fr;
    }
    body.stampyop-store-theme.single-product .stampyop-purchase-reassurance span {
        min-height: 36px;
        justify-content: flex-start;
        text-align: left;
    }
    body.stampyop-store-theme.single-product .stampyop-product-details-panel h3 {
        font-size: 23px !important;
    }
    body.stampyop-store-theme.single-product .stampyop-product-details-copy {
        font-size: 15px !important;
    }
}

/* ========================================================================== 
   v2.5.7 — package-product purchase form + CTA cleanup
   ========================================================================== */
body.stampyop-store-theme.single-product form.cart > .button:not(.single_add_to_cart_button),
body.stampyop-store-theme.single-product form.cart > a.button:not(.single_add_to_cart_button),
body.stampyop-store-theme.single-product form.cart > button.button:not(.single_add_to_cart_button) {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 48px !important;
    margin: 9px 0 0 !important;
    border: 1px solid #bfd0f2 !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #245eea !important;
    box-shadow: none !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}
body.stampyop-store-theme.single-product form.cart > .button:not(.single_add_to_cart_button):hover,
body.stampyop-store-theme.single-product form.cart > a.button:not(.single_add_to_cart_button):hover,
body.stampyop-store-theme.single-product form.cart > button.button:not(.single_add_to_cart_button):hover {
    border-color: #8fb0f4 !important;
    background: #f7faff !important;
}
body.stampyop-store-theme.single-product .stampyop-package-picker-single .stampyop-package-options {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px !important;
}
body.stampyop-store-theme.single-product .stampyop-package-picker-single .stampyop-option-button {
    width: 100%;
    justify-content: center;
}
@media (max-width: 520px) {
    body.stampyop-store-theme.single-product .stampyop-package-picker-single .stampyop-package-options {
        grid-template-columns: 1fr;
    }
}

/* ========================================================================== 
   v2.5.9 — cart + checkout UX polish
   Scope: WooCommerce Cart/Checkout only. Supports WooCommerce Blocks and
   classic templates without changing payment/order logic.
   ========================================================================== */

body.stampyop-store-theme.woocommerce-cart,
body.stampyop-store-theme.woocommerce-checkout {
    background: #f5f7fb;
}

body.stampyop-store-theme.woocommerce-cart .site-main,
body.stampyop-store-theme.woocommerce-checkout .site-main {
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 44px 24px 64px !important;
}

body.stampyop-store-theme.woocommerce-cart .entry-header,
body.stampyop-store-theme.woocommerce-checkout .entry-header {
    margin: 0 0 24px !important;
}

body.stampyop-store-theme.woocommerce-cart .entry-title,
body.stampyop-store-theme.woocommerce-checkout .entry-title {
    margin: 0 !important;
    color: #0f172a;
    font-size: clamp(34px, 4vw, 48px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.035em;
    font-weight: 800 !important;
}

body.stampyop-store-theme.woocommerce-cart .entry-title::before,
body.stampyop-store-theme.woocommerce-checkout .entry-title::before {
    display: block;
    width: fit-content;
    margin: 0 0 10px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #eaf0ff;
    color: #3157e9;
    font-size: 11px;
    line-height: 1;
    letter-spacing: .11em;
    font-weight: 800;
    text-transform: uppercase;
}
body.stampyop-store-theme.woocommerce-cart .entry-title::before { content: "Your order"; }
body.stampyop-store-theme.woocommerce-checkout .entry-title::before { content: "Secure checkout"; }

/* WooCommerce Cart Block */
body.stampyop-store-theme.woocommerce-cart .wc-block-cart {
    gap: 28px !important;
    align-items: flex-start;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-cart__main {
    padding-right: 0 !important;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .055);
    overflow: hidden;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-cart-items {
    margin: 0 !important;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-cart-items thead th {
    padding: 18px 22px !important;
    border-bottom: 1px solid #e8edf5 !important;
    color: #64748b !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    letter-spacing: .09em;
    font-weight: 800 !important;
    text-transform: uppercase;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-cart-items tbody tr {
    border-bottom: 0 !important;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-cart-items td {
    padding: 24px 22px !important;
    border-bottom: 1px solid #edf1f7 !important;
    vertical-align: middle !important;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-cart-item__image {
    width: 92px !important;
    min-width: 92px !important;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-cart-item__image img {
    width: 78px !important;
    height: 78px !important;
    object-fit: contain !important;
    padding: 8px;
    border: 1px solid #e6ebf3;
    border-radius: 14px;
    background: #f8fafc;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-components-product-name {
    color: #0f172a !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-components-product-details {
    margin-top: 8px !important;
    color: #64748b !important;
    font-size: 13px !important;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-components-product-details li,
body.stampyop-store-theme.woocommerce-cart .wc-block-components-product-details__name,
body.stampyop-store-theme.woocommerce-cart .wc-block-components-product-details__value {
    color: #64748b !important;
    font-size: 13px !important;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-components-quantity-selector {
    min-height: 42px;
    border: 1px solid #dbe3ee !important;
    border-radius: 12px !important;
    background: #fff;
    box-shadow: none !important;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-components-quantity-selector input,
body.stampyop-store-theme.woocommerce-cart .wc-block-components-quantity-selector button {
    min-height: 40px !important;
    color: #0f172a !important;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-cart-item__remove-link {
    color: #94a3b8 !important;
    font-size: 12px !important;
    text-decoration: none !important;
}
body.stampyop-store-theme.woocommerce-cart .wc-block-cart-item__remove-link:hover {
    color: #e11d48 !important;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-cart__sidebar {
    position: sticky;
    top: 24px;
    align-self: flex-start;
    padding: 0 !important;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar,
body.stampyop-store-theme.woocommerce-cart .wc-block-cart__sidebar {
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .065);
    overflow: hidden;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-cart__totals-title {
    padding: 20px 22px 14px !important;
    color: #0f172a !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    letter-spacing: -.015em;
    font-weight: 800 !important;
    text-transform: none !important;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-components-totals-wrapper {
    padding: 16px 22px !important;
    border-top: 1px solid #edf1f7 !important;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-components-totals-coupon-link {
    color: #3157e9 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-components-totals-item__label {
    color: #475569 !important;
    font-weight: 650 !important;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.stampyop-store-theme.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: #0f172a !important;
    font-size: 21px !important;
    font-weight: 850 !important;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-cart__submit {
    margin: 0 !important;
    padding: 18px 22px 22px !important;
}

body.stampyop-store-theme.woocommerce-cart .wc-block-cart__submit-button,
body.stampyop-store-theme.woocommerce-cart .wc-block-components-button.wc-block-cart__submit-button {
    min-height: 54px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #2f6cf6 0%, #6651f4 100%) !important;
    color: #fff !important;
    box-shadow: 0 12px 28px rgba(59, 89, 246, .24) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    transition: transform .18s ease, box-shadow .18s ease;
}
body.stampyop-store-theme.woocommerce-cart .wc-block-cart__submit-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 32px rgba(59, 89, 246, .3) !important;
}

/* Classic cart fallback */
body.stampyop-store-theme.woocommerce-cart table.shop_table,
body.stampyop-store-theme.woocommerce-cart .cart_totals {
    border: 1px solid #e2e8f0 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 16px 38px rgba(15, 23, 42, .055);
    overflow: hidden;
}
body.stampyop-store-theme.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    border-radius: 14px !important;
    background: linear-gradient(135deg, #2f6cf6 0%, #6651f4 100%) !important;
    color: #fff !important;
    font-weight: 800 !important;
}

/* Checkout Block */
body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout {
    gap: 30px !important;
    align-items: flex-start;
}

body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout__main {
    padding: 0 !important;
}

body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout__main > .wc-block-components-checkout-step,
body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout__payment-method,
body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout__terms {
    margin-bottom: 18px !important;
    padding: 22px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .045);
}

body.stampyop-store-theme.woocommerce-checkout .wc-block-components-checkout-step__heading {
    margin-bottom: 18px !important;
}
body.stampyop-store-theme.woocommerce-checkout .wc-block-components-checkout-step__title {
    color: #0f172a !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
}
body.stampyop-store-theme.woocommerce-checkout .wc-block-components-checkout-step__description {
    color: #64748b !important;
    font-size: 13px !important;
}

body.stampyop-store-theme.woocommerce-checkout .wc-block-components-text-input input,
body.stampyop-store-theme.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.stampyop-store-theme.woocommerce-checkout .wc-block-components-address-form input,
body.stampyop-store-theme.woocommerce-checkout .wc-block-components-address-form select,
body.stampyop-store-theme.woocommerce-checkout textarea,
body.stampyop-store-theme.woocommerce-checkout input[type="text"],
body.stampyop-store-theme.woocommerce-checkout input[type="email"],
body.stampyop-store-theme.woocommerce-checkout input[type="tel"],
body.stampyop-store-theme.woocommerce-checkout select {
    min-height: 50px !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #0f172a !important;
    box-shadow: none !important;
}
body.stampyop-store-theme.woocommerce-checkout textarea { min-height: 110px !important; }

body.stampyop-store-theme.woocommerce-checkout .wc-block-components-text-input input:focus,
body.stampyop-store-theme.woocommerce-checkout input:focus,
body.stampyop-store-theme.woocommerce-checkout select:focus,
body.stampyop-store-theme.woocommerce-checkout textarea:focus {
    border-color: #4f6ff7 !important;
    box-shadow: 0 0 0 3px rgba(79, 111, 247, .11) !important;
    outline: 0 !important;
}

body.stampyop-store-theme.woocommerce-checkout .wc-block-components-radio-control-accordion-option,
body.stampyop-store-theme.woocommerce-checkout .wc-block-components-radio-control__option {
    margin: 0 0 10px !important;
    padding: 14px 14px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 13px !important;
    background: #fbfcff !important;
}
body.stampyop-store-theme.woocommerce-checkout .wc-block-components-radio-control-accordion-option:has(input:checked),
body.stampyop-store-theme.woocommerce-checkout .wc-block-components-radio-control__option:has(input:checked) {
    border-color: #7b8df8 !important;
    background: #f3f5ff !important;
    box-shadow: inset 0 0 0 1px rgba(79, 111, 247, .14);
}

body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout__sidebar {
    position: sticky;
    top: 24px;
    padding: 0 !important;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .06);
    overflow: hidden;
}

body.stampyop-store-theme.woocommerce-checkout .wc-block-components-order-summary,
body.stampyop-store-theme.woocommerce-checkout .wc-block-components-totals-wrapper {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

body.stampyop-store-theme.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    border-radius: 10px !important;
    object-fit: contain !important;
    background: #f8fafc !important;
}

body.stampyop-store-theme.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
    color: #0f172a !important;
    font-weight: 800 !important;
}

body.stampyop-store-theme.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.stampyop-store-theme.woocommerce-checkout .wc-block-components-button.wc-block-components-checkout-place-order-button {
    min-height: 56px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #2f6cf6 0%, #6651f4 100%) !important;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(59, 89, 246, .24) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

/* Classic checkout fallback */
body.stampyop-store-theme.woocommerce-checkout form.checkout .col2-set,
body.stampyop-store-theme.woocommerce-checkout #order_review,
body.stampyop-store-theme.woocommerce-checkout #payment {
    border: 1px solid #e2e8f0 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .045);
}
body.stampyop-store-theme.woocommerce-checkout form.checkout .col2-set {
    padding: 22px !important;
}
body.stampyop-store-theme.woocommerce-checkout #order_review {
    padding: 18px !important;
}
body.stampyop-store-theme.woocommerce-checkout #payment {
    padding: 12px !important;
    background: #fff !important;
}
body.stampyop-store-theme.woocommerce-checkout #payment ul.payment_methods {
    padding: 0 !important;
    border: 0 !important;
}
body.stampyop-store-theme.woocommerce-checkout #payment ul.payment_methods li {
    margin: 0 0 9px !important;
    padding: 13px 14px !important;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fbfcff;
}
body.stampyop-store-theme.woocommerce-checkout #payment div.payment_box {
    margin: 10px 0 0 !important;
    border-radius: 10px !important;
    background: #f1f5ff !important;
    color: #475569 !important;
}
body.stampyop-store-theme.woocommerce-checkout #payment #place_order {
    width: 100% !important;
    min-height: 54px;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #2f6cf6 0%, #6651f4 100%) !important;
    color: #fff !important;
    font-weight: 800 !important;
    box-shadow: 0 12px 28px rgba(59, 89, 246, .22);
}

/* Helpful microcopy line for cart + checkout without extra boxes. */
body.stampyop-store-theme.woocommerce-cart .entry-content::before,
body.stampyop-store-theme.woocommerce-checkout .entry-content::before {
    display: block;
    margin: -8px 0 24px;
    color: #64748b;
    font-size: 14px;
    line-height: 1.55;
}
body.stampyop-store-theme.woocommerce-cart .entry-content::before {
    content: "Review your selected plans and packages before continuing to checkout.";
}
body.stampyop-store-theme.woocommerce-checkout .entry-content::before {
    content: "Enter your details, choose a payment method, and place your order securely.";
}

/* Tablet */
@media (max-width: 980px) {
    body.stampyop-store-theme.woocommerce-cart .site-main,
    body.stampyop-store-theme.woocommerce-checkout .site-main {
        padding: 32px 18px 52px !important;
    }
    body.stampyop-store-theme.woocommerce-cart .wc-block-cart,
    body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout {
        gap: 22px !important;
    }
    body.stampyop-store-theme.woocommerce-cart .wc-block-cart__sidebar,
    body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout__sidebar {
        position: static;
    }
}

/* Phone */
@media (max-width: 700px) {
    body.stampyop-store-theme.woocommerce-cart .site-main,
    body.stampyop-store-theme.woocommerce-checkout .site-main {
        padding: 26px 12px 42px !important;
    }
    body.stampyop-store-theme.woocommerce-cart .entry-title,
    body.stampyop-store-theme.woocommerce-checkout .entry-title {
        font-size: 34px !important;
    }
    body.stampyop-store-theme.woocommerce-cart .wc-block-cart__main,
    body.stampyop-store-theme.woocommerce-cart .wc-block-cart__sidebar,
    body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout__sidebar,
    body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout__main > .wc-block-components-checkout-step,
    body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout__payment-method,
    body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout__terms {
        border-radius: 16px !important;
    }
    body.stampyop-store-theme.woocommerce-cart .wc-block-cart-items thead {
        display: none !important;
    }
    body.stampyop-store-theme.woocommerce-cart .wc-block-cart-items td {
        padding: 18px 14px !important;
    }
    body.stampyop-store-theme.woocommerce-cart .wc-block-cart-item__image {
        width: 72px !important;
        min-width: 72px !important;
    }
    body.stampyop-store-theme.woocommerce-cart .wc-block-cart-item__image img {
        width: 62px !important;
        height: 62px !important;
    }
    body.stampyop-store-theme.woocommerce-cart .wc-block-components-product-name {
        font-size: 15px !important;
    }
    body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout__main > .wc-block-components-checkout-step,
    body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout__payment-method,
    body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout__terms {
        padding: 17px !important;
    }
    body.stampyop-store-theme.woocommerce-checkout .wc-block-components-radio-control-accordion-option,
    body.stampyop-store-theme.woocommerce-checkout .wc-block-components-radio-control__option {
        padding: 12px !important;
    }
}

/* ========================================================================== 
   v2.5.10 — desktop cart/checkout conversion layout
   Keeps WooCommerce logic untouched; only layout and visual hierarchy.
   ========================================================================== */

/* CART — true two-column desktop layout */
@media (min-width: 1050px) {
    body.stampyop-store-theme.woocommerce-cart .wc-block-cart,
    body.stampyop-store-theme.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart {
        display: grid !important;
        grid-template-columns: minmax(0, 1.68fr) minmax(320px, .72fr) !important;
        column-gap: 30px !important;
        row-gap: 0 !important;
        align-items: start !important;
    }

    body.stampyop-store-theme.woocommerce-cart .wc-block-cart__main,
    body.stampyop-store-theme.woocommerce-cart .wc-block-components-main.wc-block-cart__main {
        grid-column: 1 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    body.stampyop-store-theme.woocommerce-cart .wc-block-cart__sidebar,
    body.stampyop-store-theme.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar {
        grid-column: 2 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        position: sticky !important;
        top: 96px !important;
    }

    /* Classic cart fallback */
    body.stampyop-store-theme.woocommerce-cart .entry-content > .woocommerce:has(> .woocommerce-cart-form) {
        display: grid !important;
        grid-template-columns: minmax(0, 1.68fr) minmax(320px, .72fr) !important;
        gap: 30px !important;
        align-items: start !important;
    }
    body.stampyop-store-theme.woocommerce-cart .entry-content > .woocommerce:has(> .woocommerce-cart-form) > .woocommerce-cart-form {
        grid-column: 1 !important;
        width: 100% !important;
        float: none !important;
    }
    body.stampyop-store-theme.woocommerce-cart .entry-content > .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals {
        grid-column: 2 !important;
        width: 100% !important;
        float: none !important;
        position: sticky !important;
        top: 96px !important;
    }
    body.stampyop-store-theme.woocommerce-cart .entry-content > .woocommerce:has(> .woocommerce-cart-form) > .woocommerce-notices-wrapper,
    body.stampyop-store-theme.woocommerce-cart .entry-content > .woocommerce:has(> .woocommerce-cart-form) > .woocommerce-message,
    body.stampyop-store-theme.woocommerce-cart .entry-content > .woocommerce:has(> .woocommerce-cart-form) > .woocommerce-error {
        grid-column: 1 / -1 !important;
    }
    body.stampyop-store-theme.woocommerce-cart .cart-collaterals .cart_totals {
        width: 100% !important;
        float: none !important;
    }
}

/* CHECKOUT — customer details left, order + payment right on desktop */
@media (min-width: 1050px) {
    body.stampyop-store-theme.woocommerce-checkout form.checkout.woocommerce-checkout {
        display: grid !important;
        grid-template-columns: minmax(0, 1.22fr) minmax(390px, .78fr) !important;
        grid-template-rows: auto auto;
        column-gap: 30px !important;
        row-gap: 12px !important;
        align-items: start !important;
    }

    body.stampyop-store-theme.woocommerce-checkout form.checkout.woocommerce-checkout > #customer_details {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        width: 100% !important;
        margin: 0 !important;
    }

    body.stampyop-store-theme.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review_heading {
        grid-column: 2 !important;
        grid-row: 1 !important;
        margin: 0 0 2px !important;
        padding: 0 2px !important;
        color: #0f172a !important;
        font-size: 20px !important;
        line-height: 1.25 !important;
        font-weight: 800 !important;
    }

    body.stampyop-store-theme.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review {
        grid-column: 2 !important;
        grid-row: 2 !important;
        width: 100% !important;
        margin: 0 !important;
        position: sticky !important;
        top: 96px !important;
    }

    /* Checkout Blocks: explicitly preserve the same desktop split. */
    body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout,
    body.stampyop-store-theme.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
        display: grid !important;
        grid-template-columns: minmax(0, 1.22fr) minmax(390px, .78fr) !important;
        column-gap: 30px !important;
        align-items: start !important;
    }
    body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout__main {
        grid-column: 1 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }
    body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout__sidebar {
        grid-column: 2 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        position: sticky !important;
        top: 96px !important;
    }
}

/* Checkout customer-details card: keep it spacious without feeling oversized. */
body.stampyop-store-theme.woocommerce-checkout form.checkout .col2-set {
    margin: 0 !important;
}
body.stampyop-store-theme.woocommerce-checkout form.checkout .col2-set::after {
    content: "";
    display: table;
    clear: both;
}

/* Compact payment choices and give the active method a clear selected state. */
body.stampyop-store-theme.woocommerce-checkout #payment ul.payment_methods li {
    min-height: 48px;
    display: block;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
body.stampyop-store-theme.woocommerce-checkout #payment ul.payment_methods li:has(input[type="radio"]:checked) {
    border-color: #7186f7 !important;
    background: #f3f5ff !important;
    box-shadow: inset 0 0 0 1px rgba(79, 111, 247, .13);
}
body.stampyop-store-theme.woocommerce-checkout #payment ul.payment_methods li > label {
    display: inline-flex !important;
    align-items: center;
    min-height: 22px;
    color: #172033;
    font-weight: 700;
}
body.stampyop-store-theme.woocommerce-checkout #payment div.payment_box {
    padding: 13px 14px !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

/* Small trust line immediately before the final order action. */
body.stampyop-store-theme.woocommerce-checkout #payment .place-order::before {
    content: "Secure order  •  No card details stored  •  Support available after ordering";
    display: block;
    margin: 0 0 14px;
    padding: 11px 13px;
    border-radius: 10px;
    background: #f7f9ff;
    color: #64748b;
    font-size: 12px;
    line-height: 1.45;
    text-align: center;
}

/* Tablet and phone: deliberately stack everything for clarity. */
@media (max-width: 1049px) {
    body.stampyop-store-theme.woocommerce-cart .wc-block-cart,
    body.stampyop-store-theme.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart,
    body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout,
    body.stampyop-store-theme.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout,
    body.stampyop-store-theme.woocommerce-checkout form.checkout.woocommerce-checkout,
    body.stampyop-store-theme.woocommerce-cart .entry-content > .woocommerce:has(> .woocommerce-cart-form) {
        display: block !important;
    }

    body.stampyop-store-theme.woocommerce-cart .wc-block-cart__sidebar,
    body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout__sidebar,
    body.stampyop-store-theme.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review,
    body.stampyop-store-theme.woocommerce-cart .entry-content > .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals {
        position: static !important;
        width: 100% !important;
        margin-top: 22px !important;
    }

    body.stampyop-store-theme.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review_heading {
        margin-top: 24px !important;
    }
}

@media (max-width: 700px) {
    body.stampyop-store-theme.woocommerce-checkout #payment .place-order::before {
        text-align: left;
        font-size: 11.5px;
    }
}

/* ==========================================================
   v2.5.11 - payment-method clarity
   ========================================================== */
body.stampyop-store-theme.single-product .stampyop-product-payment-note {
    display: grid;
    gap: 5px;
    margin: 14px 0 0;
    padding: 13px 15px;
    border: 1px solid #dbe4f2;
    border-radius: 13px;
    background: linear-gradient(135deg, #f8faff 0%, #f3f6ff 100%);
    color: #172033;
}

body.stampyop-store-theme.single-product .stampyop-payment-note-label,
body.stampyop-store-theme.woocommerce-checkout .stampyop-payment-intro-kicker {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    min-height: 22px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #e8eeff;
    color: #335df3;
    font-size: 10px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

body.stampyop-store-theme.single-product .stampyop-product-payment-note strong {
    font-size: 13px;
    line-height: 1.45;
}

body.stampyop-store-theme.single-product .stampyop-product-payment-note small {
    color: #64748b;
    font-size: 11.5px;
    line-height: 1.5;
}

body.stampyop-store-theme.woocommerce-checkout .stampyop-checkout-payment-intro {
    display: grid;
    gap: 6px;
    margin: 0 0 12px;
    padding: 14px 15px;
    border: 1px solid #dbe4f2;
    border-radius: 13px;
    background: linear-gradient(135deg, #f8faff 0%, #f1f5ff 100%);
}

body.stampyop-store-theme.woocommerce-checkout .stampyop-checkout-payment-intro strong {
    color: #111827;
    font-size: 14px;
    line-height: 1.4;
}

body.stampyop-store-theme.woocommerce-checkout .stampyop-checkout-payment-intro p {
    margin: 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.55;
}

@media (max-width: 700px) {
    body.stampyop-store-theme.single-product .stampyop-product-payment-note,
    body.stampyop-store-theme.woocommerce-checkout .stampyop-checkout-payment-intro {
        padding: 12px;
        border-radius: 11px;
    }
}

/* ==========================================================
   v2.5.12 - persistent cart discoverability
   Desktop/tablet: compact header cart before Contact Us.
   Phone: floating cart shortcut appears only when cart has items.
   ========================================================== */
.main-navigation .main-nav > ul > li.stampyop-cart-menu-item {
    display: flex;
    align-items: center;
    margin-left: 10px;
}

.main-navigation .main-nav > ul > li.stampyop-cart-menu-item > a.stampyop-header-cart,
.main-navigation .main-nav > ul > li.stampyop-cart-menu-item > a.stampyop-header-cart:link,
.main-navigation .main-nav > ul > li.stampyop-cart-menu-item > a.stampyop-header-cart:visited {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 0 !important;
    border: 1px solid #dbe4f2 !important;
    border-radius: 12px !important;
    background: #f7f9ff !important;
    color: #172033 !important;
    box-shadow: 0 5px 14px rgba(15, 23, 42, .05) !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease !important;
}

.main-navigation .main-nav > ul > li.stampyop-cart-menu-item > a.stampyop-header-cart:hover,
.main-navigation .main-nav > ul > li.stampyop-cart-menu-item > a.stampyop-header-cart:focus-visible {
    color: #315ff4 !important;
    border-color: #b9c9fb !important;
    background: #eef3ff !important;
    box-shadow: 0 8px 20px rgba(49, 95, 244, .12) !important;
    transform: translateY(-1px);
}

.stampyop-header-cart-icon,
.stampyop-floating-cart-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.stampyop-cart-svg {
    width: 21px;
    height: 21px;
    display: block;
}

.stampyop-header-cart-label {
    display: none;
}

.stampyop-cart-count {
    position: absolute;
    top: -7px;
    right: -7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    border: 2px solid #fff;
    border-radius: 999px;
    background: linear-gradient(135deg, #2f6df6 0%, #6c4df6 100%);
    color: #fff;
    font-size: 10px;
    line-height: 1;
    font-weight: 800;
    box-shadow: 0 4px 10px rgba(49, 95, 244, .24);
}

/* Floating mobile cart is intentionally absent on desktop/tablet. */
.stampyop-floating-cart {
    display: none;
}

@media (max-width: 980px) {
    .main-navigation .main-nav > ul > li.stampyop-cart-menu-item {
        margin-left: 5px;
    }
}

@media (max-width: 768px) {
    /* Inside the opened mobile navigation, make Cart a normal, obvious row. */
    .main-navigation .main-nav > ul > li.stampyop-cart-menu-item {
        display: block;
        width: 100%;
        margin: 4px 0 0;
    }

    .main-navigation .main-nav > ul > li.stampyop-cart-menu-item > a.stampyop-header-cart,
    .main-navigation .main-nav > ul > li.stampyop-cart-menu-item > a.stampyop-header-cart:link,
    .main-navigation .main-nav > ul > li.stampyop-cart-menu-item > a.stampyop-header-cart:visited {
        width: auto;
        min-width: 0;
        height: 44px;
        margin: 6px 12px 2px !important;
        padding: 0 14px !important;
        justify-content: flex-start;
        gap: 9px;
        border-radius: 11px !important;
    }

    .stampyop-header-cart-label {
        display: inline;
        color: inherit;
        font-size: 14px;
        font-weight: 800;
    }

    .main-navigation .main-nav > ul > li.stampyop-cart-menu-item .stampyop-cart-count {
        position: static;
        margin-left: auto;
        min-width: 22px;
        height: 22px;
        border-width: 0;
        font-size: 11px;
    }

    body:not(.woocommerce-cart):not(.woocommerce-checkout) .stampyop-floating-cart:not(.is-empty) {
        position: fixed;
        right: 16px;
        bottom: calc(18px + env(safe-area-inset-bottom, 0px));
        z-index: 9998;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 52px;
        padding: 0 11px 0 14px;
        border: 1px solid rgba(255, 255, 255, .2);
        border-radius: 999px;
        background: linear-gradient(135deg, #2868f3 0%, #654cf4 100%);
        color: #fff;
        text-decoration: none;
        box-shadow: 0 14px 32px rgba(37, 78, 196, .34);
        -webkit-tap-highlight-color: transparent;
    }

    body:not(.woocommerce-cart):not(.woocommerce-checkout) .stampyop-floating-cart:not(.is-empty):hover,
    body:not(.woocommerce-cart):not(.woocommerce-checkout) .stampyop-floating-cart:not(.is-empty):focus-visible {
        color: #fff;
        transform: translateY(-1px);
        box-shadow: 0 17px 36px rgba(37, 78, 196, .4);
    }

    .stampyop-floating-cart-label {
        color: #fff;
        font-size: 14px;
        line-height: 1;
        font-weight: 800;
    }

    .stampyop-floating-cart-count {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 24px;
        height: 24px;
        padding: 0 6px;
        border-radius: 999px;
        background: #fff;
        color: #315ff4;
        font-size: 11px;
        line-height: 1;
        font-weight: 900;
    }

    .stampyop-floating-cart .stampyop-cart-svg {
        width: 20px;
        height: 20px;
    }
}

/* ========================================================================== 
   v2.5.13 — mobile storefront hardening
   Dedicated mobile header + safe phone/tablet layouts for store pages.
   Desktop visuals remain unchanged.
   ========================================================================== */

.stampyop-mobile-header { display: none; }

@media (max-width: 860px) {
    /* Do not depend on GeneratePress/Premium mobile-header settings. */
    body.stampyop-store-theme .site-header,
    body.stampyop-store-theme #mobile-header,
    body.stampyop-store-theme #sticky-navigation {
        display: none !important;
    }

    .stampyop-mobile-header {
        position: sticky;
        top: 0;
        z-index: 10050;
        display: block;
        width: 100%;
        border-bottom: 1px solid #e3e9f2;
        background: rgba(255,255,255,.97);
        box-shadow: 0 8px 26px rgba(15,23,42,.06);
        backdrop-filter: blur(16px) saturate(1.15);
    }
    body.admin-bar .stampyop-mobile-header { top: 46px; }

    .stampyop-mobile-header-bar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        min-height: 64px;
        width: min(calc(100% - 28px), 820px);
        margin: 0 auto;
    }
    .stampyop-mobile-brand {
        color: #0b1328 !important;
        font-size: 22px;
        line-height: 1;
        font-weight: 850;
        letter-spacing: -.04em;
        text-decoration: none !important;
    }
    .stampyop-mobile-header-actions {
        display: flex;
        align-items: center;
        gap: 9px;
    }
    .stampyop-mobile-cart,
    .stampyop-mobile-menu-toggle {
        position: relative;
        width: 44px;
        height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 44px;
        margin: 0;
        padding: 0;
        border: 1px solid #dbe4f2;
        border-radius: 12px;
        background: #f7f9ff;
        color: #172033 !important;
        box-shadow: 0 4px 12px rgba(15,23,42,.04);
        text-decoration: none !important;
        -webkit-tap-highlight-color: transparent;
    }
    .stampyop-mobile-cart .stampyop-cart-svg { width: 21px; height: 21px; }
    .stampyop-mobile-cart-count {
        position: absolute;
        top: -6px;
        right: -6px;
        min-width: 19px;
        height: 19px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 5px;
        border: 2px solid #fff;
        border-radius: 999px;
        background: linear-gradient(135deg,#2f6df6,#6c4df6);
        color: #fff;
        font-size: 10px;
        line-height: 1;
        font-weight: 900;
    }
    .stampyop-mobile-menu-toggle { flex-direction: column; gap: 4px; cursor: pointer; }
    .stampyop-mobile-menu-toggle span {
        width: 18px;
        height: 2px;
        display: block;
        border-radius: 999px;
        background: currentColor;
        transition: transform .18s ease, opacity .18s ease;
    }
    .stampyop-mobile-header.is-open .stampyop-mobile-menu-toggle span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
    .stampyop-mobile-header.is-open .stampyop-mobile-menu-toggle span:nth-child(2) { opacity: 0; }
    .stampyop-mobile-header.is-open .stampyop-mobile-menu-toggle span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

    .stampyop-mobile-drawer {
        display: none;
        max-height: calc(100dvh - 64px);
        overflow-y: auto;
        border-top: 1px solid #edf1f6;
        background: #fff;
        box-shadow: 0 24px 44px rgba(15,23,42,.12);
    }
    .stampyop-mobile-header.is-open .stampyop-mobile-drawer { display: block; }
    .stampyop-mobile-nav {
        width: min(calc(100% - 28px), 820px);
        margin: 0 auto;
        padding: 10px 0 16px;
    }
    .stampyop-mobile-nav ul,
    .stampyop-mobile-nav li {
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }
    .stampyop-mobile-nav > ul { display: grid; gap: 3px; }
    .stampyop-mobile-nav li > a,
    .stampyop-mobile-nav li > a:visited {
        display: flex;
        align-items: center;
        width: 100%;
        min-height: 46px;
        padding: 11px 13px;
        border-radius: 11px;
        color: #172033 !important;
        background: transparent !important;
        font-size: 15px;
        line-height: 1.2;
        font-weight: 750;
        text-decoration: none !important;
    }
    .stampyop-mobile-nav li.current-menu-item > a,
    .stampyop-mobile-nav li > a:hover,
    .stampyop-mobile-nav li > a:focus-visible {
        color: #2f62ef !important;
        background: #f3f6ff !important;
    }
    .stampyop-mobile-nav li.stampyop-contact-menu-item { margin-top: 6px !important; }
    .stampyop-mobile-nav li.stampyop-contact-menu-item > a.stampyop-contact-nav,
    .stampyop-mobile-nav li.stampyop-contact-menu-item > a.stampyop-contact-nav:visited {
        justify-content: center;
        min-height: 48px;
        color: #fff !important;
        background: linear-gradient(135deg,#2f6df6,#6557f5) !important;
        box-shadow: 0 10px 22px rgba(47,109,246,.18);
    }
    html.stampyop-mobile-menu-open { overflow: hidden; }

    /* Tablet storefronts: avoid fixed/sticky sidebars stealing width. */
    body.stampyop-store-theme.woocommerce-cart .wc-block-cart__sidebar,
    body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout__sidebar,
    body.stampyop-store-theme.woocommerce-cart .cart-collaterals,
    body.stampyop-store-theme.woocommerce-checkout #order_review {
        position: static !important;
        top: auto !important;
    }
}

@media (max-width: 700px) {
    body.stampyop-store-theme .site-content,
    body.stampyop-store-theme .container.grid-container,
    body.stampyop-store-theme .site.grid-container {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Product details */
    body.stampyop-store-theme.single-product .site-main {
        width: 100% !important;
        max-width: 100% !important;
        padding: 14px 10px 40px !important;
    }
    body.stampyop-store-theme.single-product div.product.type-product {
        width: 100% !important;
        grid-template-columns: minmax(0,1fr) !important;
        gap: 16px !important;
        padding: 12px !important;
    }
    body.stampyop-store-theme.single-product div.product div.images {
        min-height: 0 !important;
        aspect-ratio: 1 / .86;
    }
    body.stampyop-store-theme.single-product div.product div.images img {
        width: 100% !important;
        max-width: 100% !important;
        max-height: 320px !important;
        object-fit: contain !important;
    }
    body.stampyop-store-theme.single-product div.product .product_title {
        font-size: clamp(28px,8.5vw,34px) !important;
        line-height: 1.06 !important;
    }
    body.stampyop-store-theme.single-product .stampyop-single-context { margin-bottom: 14px; }
    body.stampyop-store-theme.single-product .stampyop-option-group {
        display: flex !important;
        flex-wrap: wrap !important;
        min-width: 0;
    }
    body.stampyop-store-theme.single-product .stampyop-option-button {
        flex: 1 1 auto;
        min-width: 88px;
    }
    body.stampyop-store-theme.single-product form.cart .single_add_to_cart_button,
    body.stampyop-store-theme.single-product form.cart > .button:not(.single_add_to_cart_button) {
        min-height: 50px !important;
        font-size: 15px !important;
    }

    /* Cart: readable stacked layout with no horizontal scroll. */
    body.stampyop-store-theme.woocommerce-cart .site-main,
    body.stampyop-store-theme.woocommerce-checkout .site-main {
        width: 100% !important;
        max-width: 100% !important;
        padding: 22px 10px 38px !important;
    }
    body.stampyop-store-theme.woocommerce-cart .entry-content > .woocommerce,
    body.stampyop-store-theme.woocommerce-checkout .entry-content > .woocommerce,
    body.stampyop-store-theme.woocommerce-cart .wc-block-cart,
    body.stampyop-store-theme.woocommerce-checkout .wc-block-checkout {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    body.stampyop-store-theme.woocommerce-cart table.shop_table,
    body.stampyop-store-theme.woocommerce-checkout table.shop_table {
        width: 100% !important;
        table-layout: fixed;
    }
    body.stampyop-store-theme.woocommerce-cart .woocommerce-cart-form,
    body.stampyop-store-theme.woocommerce-cart .cart-collaterals,
    body.stampyop-store-theme.woocommerce-checkout #customer_details,
    body.stampyop-store-theme.woocommerce-checkout #order_review,
    body.stampyop-store-theme.woocommerce-checkout #payment {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    body.stampyop-store-theme.woocommerce-checkout form.checkout.woocommerce-checkout,
    body.stampyop-store-theme.woocommerce-cart .entry-content > .woocommerce:has(> .woocommerce-cart-form) {
        display: block !important;
        grid-template-columns: 1fr !important;
    }
    body.stampyop-store-theme.woocommerce-checkout form.checkout .col2-set,
    body.stampyop-store-theme.woocommerce-checkout #order_review,
    body.stampyop-store-theme.woocommerce-checkout #payment {
        padding: 14px !important;
        border-radius: 15px !important;
    }
    body.stampyop-store-theme.woocommerce-checkout .form-row,
    body.stampyop-store-theme.woocommerce-checkout .form-row-first,
    body.stampyop-store-theme.woocommerce-checkout .form-row-last {
        float: none !important;
        width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
    body.stampyop-store-theme.woocommerce-checkout input.input-text,
    body.stampyop-store-theme.woocommerce-checkout select,
    body.stampyop-store-theme.woocommerce-checkout textarea {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 16px !important; /* stops iOS auto-zoom */
    }
    body.stampyop-store-theme.woocommerce-checkout #payment ul.payment_methods li {
        padding: 12px !important;
    }
    body.stampyop-store-theme.woocommerce-checkout #payment #place_order,
    body.stampyop-store-theme.woocommerce-cart .wc-block-cart__submit-button,
    body.stampyop-store-theme.woocommerce-cart .checkout-button {
        width: 100% !important;
        min-height: 52px !important;
    }

    /* Footer links should wrap deliberately instead of squeezing. */
    body.stampyop-store-theme .site-footer .inside-site-info,
    body.stampyop-store-theme footer.site-info .inside-site-info {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 12px !important;
        text-align: center;
    }
}

@media (max-width: 390px) {
    .stampyop-mobile-header-bar,
    .stampyop-mobile-nav { width: calc(100% - 20px); }
    .stampyop-mobile-brand { font-size: 20px; }
    .stampyop-mobile-cart,
    .stampyop-mobile-menu-toggle {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
    }
}

/* ========================================================================== 
   v2.5.14 — mobile catalogue density + navigation consistency
   - Dedicated mobile header fully replaces GeneratePress navigation.
   - All drawer links share one consistent blue treatment.
   - Phone catalogue/home product grids use two compact cards per row.
   ========================================================================== */
@media (max-width: 860px) {
    /* The dedicated StampyOP mobile header already owns navigation. Hiding the
       original GeneratePress nav also removes the empty band it left behind. */
    body.stampyop-store-theme #site-navigation,
    body.stampyop-store-theme nav.main-navigation {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    /* One visual language for every normal mobile menu link. */
    .stampyop-mobile-nav li > a,
    .stampyop-mobile-nav li > a:link,
    .stampyop-mobile-nav li > a:visited {
        color: #2f62ef !important;
        background: transparent !important;
    }
    .stampyop-mobile-nav li.current-menu-item > a,
    .stampyop-mobile-nav li.current_page_item > a,
    .stampyop-mobile-nav li > a:hover,
    .stampyop-mobile-nav li > a:focus-visible {
        color: #2356df !important;
        background: #f2f5ff !important;
    }
    .stampyop-mobile-nav li.stampyop-contact-menu-item > a.stampyop-contact-nav,
    .stampyop-mobile-nav li.stampyop-contact-menu-item > a.stampyop-contact-nav:link,
    .stampyop-mobile-nav li.stampyop-contact-menu-item > a.stampyop-contact-nav:visited {
        color: #fff !important;
        background: linear-gradient(135deg,#2f6df6,#6557f5) !important;
    }
}

@media (max-width: 620px) {
    /* Remove GeneratePress archive spacing that made the mobile catalogue start
       too far below the header. */
    body.stampyop-store-theme.woocommerce-shop .site-content,
    body.stampyop-store-theme.tax-product_cat .site-content,
    body.stampyop-store-theme.tax-product_tag .site-content {
        padding-top: 0 !important;
    }
    body.stampyop-store-theme.woocommerce-shop .site-main,
    body.stampyop-store-theme.tax-product_cat .site-main,
    body.stampyop-store-theme.tax-product_tag .site-main {
        margin-top: 0 !important;
        padding-top: 22px !important;
    }
    body.stampyop-store-theme.woocommerce-shop .inside-article,
    body.stampyop-store-theme.tax-product_cat .inside-article,
    body.stampyop-store-theme.tax-product_tag .inside-article {
        padding-top: 0 !important;
    }

    /* Two cards across is the best phone balance: much less scrolling than one
       card per row, while still leaving enough room for plan/package controls. */
    body.stampyop-store-theme .stampyop-home-products .products,
    body.stampyop-store-theme.woocommerce-shop ul.products,
    body.stampyop-store-theme.tax-product_cat ul.products,
    body.stampyop-store-theme.tax-product_tag ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.stampyop-store-theme .stampyop-home-products .products > li.product,
    body.stampyop-store-theme.woocommerce-shop ul.products > li.product,
    body.stampyop-store-theme.tax-product_cat ul.products > li.product,
    body.stampyop-store-theme.tax-product_tag ul.products > li.product {
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 8px !important;
        border-radius: 15px !important;
    }

    body.stampyop-store-theme .woocommerce ul.products li.product a img,
    body.stampyop-store-theme.woocommerce-page ul.products li.product a img {
        width: 100% !important;
        height: 124px !important;
        aspect-ratio: auto !important;
        object-fit: contain !important;
        padding: 8px !important;
        margin-bottom: 8px !important;
        border-radius: 11px !important;
    }

    body.stampyop-store-theme .woocommerce ul.products li.product .woocommerce-loop-product__title,
    body.stampyop-store-theme.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
        min-height: 34px !important;
        padding: 0 2px !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
    }

    body.stampyop-store-theme .stampyop-card-meta {
        min-height: 16px !important;
        margin: 1px 2px 7px !important;
        font-size: 9px !important;
        line-height: 1.25 !important;
    }
    body.stampyop-store-theme .stampyop-simple-picker-card,
    body.stampyop-store-theme .stampyop-package-picker-card {
        min-width: 0 !important;
    }
    body.stampyop-store-theme .stampyop-option-label {
        margin: 1px 2px 5px !important;
        font-size: 7px !important;
        letter-spacing: .06em !important;
    }
    body.stampyop-store-theme .stampyop-option-group {
        min-height: 0 !important;
        gap: 4px !important;
        margin: 0 2px 7px !important;
    }
    body.stampyop-store-theme .stampyop-option-button,
    body.stampyop-store-theme .stampyop-single-option-button {
        min-width: 0 !important;
        min-height: 27px !important;
        padding: 4px 4px !important;
        border-radius: 7px !important;
        font-size: 8px !important;
        line-height: 1.05 !important;
        white-space: nowrap;
    }
    body.stampyop-store-theme .stampyop-account-options .stampyop-option-button {
        flex: 1 1 0 !important;
    }
    body.stampyop-store-theme .stampyop-duration-options .stampyop-option-button,
    body.stampyop-store-theme .stampyop-package-options .stampyop-option-button {
        flex: 1 1 calc(33.333% - 4px) !important;
    }
    body.stampyop-store-theme .stampyop-duration-wrap {
        min-height: 58px !important;
    }
    body.stampyop-store-theme .stampyop-card-price {
        min-height: 54px !important;
        margin: auto 2px 8px !important;
        padding: 8px 9px !important;
        border-radius: 10px !important;
    }
    body.stampyop-store-theme .stampyop-price-caption {
        margin-bottom: 2px !important;
        font-size: 7px !important;
    }
    body.stampyop-store-theme .stampyop-price-value {
        font-size: 18px !important;
    }
    body.stampyop-store-theme .woocommerce ul.products li.product .button.stampyop-details-button,
    body.stampyop-store-theme .woocommerce-page ul.products li.product .button.stampyop-details-button {
        width: calc(100% - 4px) !important;
        min-height: 38px !important;
        margin: 0 2px 1px !important;
        padding: 0 7px !important;
        border-radius: 9px !important;
        font-size: 11px !important;
    }

    /* Keep the product section itself from wasting vertical space on phones. */
    body.home.stampyop-store-theme .stampyop-products-section {
        padding-top: 58px !important;
        padding-bottom: 62px !important;
    }
    body.home.stampyop-store-theme .stampyop-product-search {
        margin-bottom: 24px !important;
    }
}

@media (max-width: 360px) {
    body.stampyop-store-theme .woocommerce ul.products li.product a img,
    body.stampyop-store-theme.woocommerce-page ul.products li.product a img {
        height: 108px !important;
    }
    body.stampyop-store-theme .stampyop-option-button,
    body.stampyop-store-theme .stampyop-single-option-button {
        font-size: 7.5px !important;
    }
}

/* ========================================================================== 
   v2.5.15 — mobile homepage density + drawer consistency
   Keep the useful sticky mobile header; make the long content sections easier
   to scan by compressing About and turning Reviews/Blog into swipe rows.
   ========================================================================== */
@media (max-width: 620px) {
    /* Every standard drawer item uses the same pale-blue surface. The current
       destination gets a slightly stronger state, while Contact stays a CTA. */
    .stampyop-mobile-nav li:not(.stampyop-contact-menu-item) > a,
    .stampyop-mobile-nav li:not(.stampyop-contact-menu-item) > a:link,
    .stampyop-mobile-nav li:not(.stampyop-contact-menu-item) > a:visited {
        color: #2f62ef !important;
        background: #f3f6ff !important;
    }
    .stampyop-mobile-nav li:not(.stampyop-contact-menu-item).current-menu-item > a,
    .stampyop-mobile-nav li:not(.stampyop-contact-menu-item).current_page_item > a,
    .stampyop-mobile-nav li:not(.stampyop-contact-menu-item) > a:hover,
    .stampyop-mobile-nav li:not(.stampyop-contact-menu-item) > a:focus-visible {
        color: #214fcf !important;
        background: #e8efff !important;
    }
    .stampyop-mobile-nav > ul {
        gap: 7px !important;
    }

    /* The header is intentionally sticky on phones. It keeps navigation and
       the cart one tap away while long catalogue/content pages are scrolled. */
    .stampyop-mobile-header {
        position: sticky !important;
        top: 0;
    }
    body.admin-bar .stampyop-mobile-header { top: 46px; }

    /* ABOUT — compact copy plus a genuine 2x2 benefit grid. */
    body.home.stampyop-store-theme .stampyop-about-section {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }
    body.home.stampyop-store-theme .stampyop-about-panel {
        padding: 22px 16px !important;
        border-radius: 22px !important;
    }
    body.home.stampyop-store-theme .stampyop-about-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }
    body.home.stampyop-store-theme .stampyop-about-panel h2 {
        margin-top: 9px !important;
        font-size: clamp(28px, 8.3vw, 34px) !important;
        line-height: 1.02 !important;
    }
    body.home.stampyop-store-theme .stampyop-about-panel .stampyop-large-copy {
        margin: 12px 0 12px !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
    }
    body.home.stampyop-store-theme .stampyop-about-note {
        padding: 6px 9px !important;
        font-size: 10px !important;
    }
    body.home.stampyop-store-theme .stampyop-about-panel .stampyop-mini-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }
    body.home.stampyop-store-theme .stampyop-about-panel .stampyop-mini-grid > div {
        min-height: 108px !important;
        padding: 12px 10px !important;
        border-radius: 14px !important;
    }
    body.home.stampyop-store-theme .stampyop-mini-icon {
        width: 28px !important;
        height: 28px !important;
        border-radius: 8px !important;
        font-size: 11px !important;
    }
    body.home.stampyop-store-theme .stampyop-about-panel .stampyop-mini-grid strong {
        margin: 7px 0 4px !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
    }
    body.home.stampyop-store-theme .stampyop-about-panel .stampyop-mini-grid > div > span:last-child {
        font-size: 9.5px !important;
        line-height: 1.35 !important;
    }

    /* REVIEWS — one compact horizontal swipe row instead of three tall cards. */
    body.home.stampyop-store-theme .stampyop-reviews-section {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }
    body.home.stampyop-store-theme .stampyop-reviews-section .stampyop-shell {
        padding: 22px 16px 20px !important;
        border-radius: 22px !important;
    }
    body.home.stampyop-store-theme .stampyop-reviews-section .stampyop-heading-row {
        gap: 10px !important;
        margin-bottom: 0 !important;
    }
    body.home.stampyop-store-theme .stampyop-reviews-section .stampyop-section-heading h2 {
        font-size: 30px !important;
        line-height: 1.02 !important;
    }
    body.home.stampyop-store-theme .stampyop-reviews-section .stampyop-section-heading p {
        margin-top: 7px !important;
        font-size: 11px !important;
        line-height: 1.45 !important;
    }
    body.home.stampyop-store-theme .stampyop-reviews-section .stampyop-section-action {
        margin-top: 4px !important;
        min-height: 34px !important;
        padding: 7px 10px !important;
        font-size: 10px !important;
    }
    body.home.stampyop-store-theme .stampyop-review-highlights {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 10px !important;
        margin-top: 18px !important;
        padding: 0 2px 4px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 2px;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    body.home.stampyop-store-theme .stampyop-review-highlights::-webkit-scrollbar { display: none; }
    body.home.stampyop-store-theme .stampyop-review-highlights .stampyop-review-card,
    body.home.stampyop-store-theme .stampyop-review-highlights .stampyop-review-card:nth-child(n+3) {
        display: flex !important;
        flex: 0 0 84% !important;
        min-width: 84% !important;
        min-height: 190px !important;
        padding: 17px !important;
        border-radius: 17px !important;
        scroll-snap-align: start;
    }
    body.home.stampyop-store-theme .stampyop-review-card .stampyop-review-text p {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }
    body.home.stampyop-store-theme .stampyop-review-card > strong {
        font-size: 12px !important;
    }
    body.home.stampyop-store-theme .stampyop-review-card::before {
        font-size: 66px !important;
    }

    /* BLOG — editorial heading stays recognisable, posts become a swipe row so
       the homepage doesn't gain a full screen for every article. */
    body.home.stampyop-store-theme .stampyop-blog-section {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }
    body.home.stampyop-store-theme .stampyop-blog-section .stampyop-shell {
        display: block !important;
        padding: 14px !important;
        border-radius: 22px !important;
    }
    body.home.stampyop-store-theme .stampyop-blog-section .stampyop-heading-row {
        min-height: 0 !important;
        padding: 20px !important;
        border-radius: 18px !important;
    }
    body.home.stampyop-store-theme .stampyop-blog-section .stampyop-section-heading h2 {
        max-width: none !important;
        margin-top: 10px !important;
        font-size: 30px !important;
        line-height: 1.02 !important;
    }
    body.home.stampyop-store-theme .stampyop-blog-section .stampyop-section-heading p {
        margin-top: 8px !important;
        font-size: 11px !important;
        line-height: 1.45 !important;
    }
    body.home.stampyop-store-theme .stampyop-blog-section .stampyop-section-action {
        margin-top: 14px !important;
        min-height: 34px !important;
        padding: 7px 10px !important;
        font-size: 10px !important;
    }
    body.home.stampyop-store-theme .stampyop-blog-grid {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 10px !important;
        margin-top: 12px !important;
        padding: 0 2px 4px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 2px;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    body.home.stampyop-store-theme .stampyop-blog-grid::-webkit-scrollbar { display: none; }
    body.home.stampyop-store-theme .stampyop-blog-card {
        flex: 0 0 84% !important;
        min-width: 84% !important;
        border-radius: 17px !important;
        scroll-snap-align: start;
    }
    body.home.stampyop-store-theme .stampyop-blog-thumb {
        min-height: 0 !important;
        aspect-ratio: 1.8 / 1 !important;
    }
    body.home.stampyop-store-theme .stampyop-blog-thumb img {
        height: 100% !important;
        min-height: 0 !important;
    }
    body.home.stampyop-store-theme .stampyop-blog-card-content {
        padding: 14px !important;
    }
    body.home.stampyop-store-theme .stampyop-blog-card h3 {
        margin: 9px 0 6px !important;
        font-size: 15px !important;
        line-height: 1.28 !important;
    }
    body.home.stampyop-store-theme .stampyop-blog-card p {
        display: -webkit-box;
        margin-bottom: 10px !important;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        font-size: 10.5px !important;
        line-height: 1.45 !important;
    }
    body.home.stampyop-store-theme .stampyop-blog-card .stampyop-text-link {
        padding: 6px 8px !important;
        font-size: 10px !important;
    }
}

/* ========================================================================== 
   v2.5.16 — polished empty-cart experience
   Keeps the standard Cart layout untouched when products are present.
   ========================================================================== */
body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .site-main {
    padding-bottom: 54px !important;
}

body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .entry-content {
    margin-top: 0 !important;
}

body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wp-block-woocommerce-empty-cart-block {
    width: 100%;
    max-width: 1120px;
    margin: 4px auto 0 !important;
}

body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-title {
    width: min(100%, 720px);
    margin: 0 auto !important;
    padding: 34px 28px 10px !important;
    border: 1px solid #dfe6f2;
    border-bottom: 0;
    border-radius: 24px 24px 0 0;
    background:
        radial-gradient(circle at 88% 10%, rgba(98, 81, 244, .11), transparent 30%),
        linear-gradient(135deg, #f8faff 0%, #f2f6ff 100%);
    color: #0f172a !important;
    font-size: clamp(27px, 3vw, 36px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.035em;
    font-weight: 850 !important;
    text-align: center !important;
}

/* Replace WooCommerce's generic sad-face mark with a clean store/cart icon. */
body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-title::before {
    content: "" !important;
    display: block !important;
    width: 74px !important;
    height: 74px !important;
    margin: 0 auto 20px !important;
    border: 1px solid #dce5ff !important;
    border-radius: 22px !important;
    background-color: #fff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect x='13' y='15' width='38' height='34' rx='12' fill='%23edf3ff'/%3E%3Cpath d='M18 22h5l4.1 16.4a3 3 0 0 0 2.9 2.3h13.2a3 3 0 0 0 2.9-2.2L49 28H25' fill='none' stroke='%233f63f3' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='31' cy='46' r='2.8' fill='%236451f4'/%3E%3Ccircle cx='43' cy='46' r='2.8' fill='%236451f4'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 58px 58px !important;
    box-shadow: 0 16px 34px rgba(59, 89, 246, .12) !important;
}

body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-copy {
    width: min(100%, 720px);
    margin: 0 auto 42px;
    padding: 0 28px 32px;
    border: 1px solid #dfe6f2;
    border-top: 0;
    border-radius: 0 0 24px 24px;
    background:
        radial-gradient(circle at 88% 0%, rgba(98, 81, 244, .11), transparent 28%),
        linear-gradient(135deg, #f8faff 0%, #f2f6ff 100%);
    text-align: center;
}

body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-copy p {
    max-width: 510px;
    margin: 0 auto 20px;
    color: #64748b;
    font-size: 15px;
    line-height: 1.65;
}

body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-primary,
body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 20px;
    border-radius: 13px;
    font-size: 14px;
    line-height: 1;
    font-weight: 800;
    text-decoration: none !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-primary {
    border: 0;
    background: linear-gradient(135deg, #2f6cf6 0%, #6651f4 100%);
    color: #fff !important;
    box-shadow: 0 12px 26px rgba(59, 89, 246, .22);
}

body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-primary:hover,
body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-primary:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 16px 30px rgba(59, 89, 246, .29);
}

body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-secondary {
    border: 1px solid #dbe3ef;
    background: #fff;
    color: #25324a !important;
}

body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-secondary:hover,
body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-secondary:focus-visible {
    border-color: #b9c7e4;
    transform: translateY(-1px);
}

/* WooCommerce inserts a separator between the empty message and recommendations. */
body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wp-block-woocommerce-empty-cart-block > .wp-block-separator,
body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wp-block-woocommerce-empty-cart-block > hr {
    display: none !important;
}

body.stampyop-store-theme.woocommerce-cart .stampyop-empty-products-title {
    margin: 0 auto 8px !important;
    color: #0f172a !important;
    font-size: clamp(26px, 3vw, 34px) !important;
    line-height: 1.15 !important;
    letter-spacing: -.03em;
    font-weight: 850 !important;
    text-align: center !important;
}

body.stampyop-store-theme.woocommerce-cart .stampyop-empty-products-title::before {
    content: "DISCOVER";
    display: block;
    width: fit-content;
    margin: 0 auto 10px;
    padding: 6px 9px;
    border-radius: 999px;
    background: #eaf0ff;
    color: #3157e9;
    font-size: 10px;
    line-height: 1;
    letter-spacing: .12em;
    font-weight: 850;
}

body.stampyop-store-theme.woocommerce-cart .stampyop-empty-products-subtitle {
    max-width: 560px;
    margin: 0 auto 24px;
    color: #64748b;
    font-size: 14px;
    line-height: 1.55;
    text-align: center;
}

/* Legacy WooCommerce Product New block used by the empty-cart template. */
body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    margin: 0 !important;
}

body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wc-block-grid__product {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 16px !important;
    border: 1px solid #dfe6f2 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .055) !important;
    text-align: left !important;
    overflow: hidden;
    position: relative;
}

body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wc-block-grid__product::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: linear-gradient(90deg, #2f6cf6, #6651f4);
}

body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wc-block-grid__product-image {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    aspect-ratio: 1 / .78;
    margin: 0 0 14px !important;
    border-radius: 14px;
    background: #f7f9fd;
    overflow: hidden;
}

body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wc-block-grid__product-image img {
    width: 100% !important;
    height: 100% !important;
    max-height: 210px !important;
    object-fit: contain !important;
    padding: 10px;
}

body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wc-block-grid__product-title {
    margin: 0 0 8px !important;
    color: #0f172a !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    text-align: left !important;
}

body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wc-block-grid__product-price {
    margin: 0 0 14px !important;
    color: #0f172a !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    text-align: left !important;
}

body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wc-block-grid__product-add-to-cart {
    margin: 0 !important;
}

body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wc-block-grid__product-add-to-cart .wp-block-button__link,
body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wc-block-grid__product-add-to-cart a,
body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wc-block-grid__product-add-to-cart button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #2f6cf6 0%, #6651f4 100%) !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(59, 89, 246, .18) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

/* Modern Product Collection fallback, in case WooCommerce changes the default block. */
body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wp-block-woocommerce-product-collection .wc-block-product-template,
body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wp-block-woocommerce-product-new .wc-block-product-template {
    gap: 18px !important;
}

body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wp-block-woocommerce-product-collection .wc-block-product,
body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wp-block-woocommerce-product-new .wc-block-product {
    padding: 16px !important;
    border: 1px solid #dfe6f2 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .055) !important;
    overflow: hidden;
}

body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wp-block-woocommerce-product-collection .wp-block-button__link,
body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wp-block-woocommerce-product-new .wp-block-button__link {
    width: 100% !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #2f6cf6 0%, #6651f4 100%) !important;
    color: #fff !important;
    font-weight: 800 !important;
}

@media (max-width: 760px) {
    body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .site-main {
        padding-bottom: 34px !important;
    }

    body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-title {
        width: 100%;
        padding: 26px 18px 8px !important;
        border-radius: 20px 20px 0 0;
        font-size: 28px !important;
    }

    body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-title::before {
        width: 64px !important;
        height: 64px !important;
        margin-bottom: 16px !important;
        border-radius: 19px !important;
        background-size: 50px 50px !important;
    }

    body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-copy {
        width: 100%;
        margin-bottom: 32px;
        padding: 0 18px 22px;
        border-radius: 0 0 20px 20px;
    }

    body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-copy p {
        font-size: 13.5px;
        line-height: 1.55;
    }

    body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 9px;
    }

    body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-primary,
    body.stampyop-store-theme.woocommerce-cart .stampyop-empty-cart-secondary {
        width: 100%;
        min-height: 46px;
    }

    body.stampyop-store-theme.woocommerce-cart .stampyop-empty-products-title {
        font-size: 27px !important;
    }

    body.stampyop-store-theme.woocommerce-cart .stampyop-empty-products-subtitle {
        margin-bottom: 18px;
        padding: 0 8px;
        font-size: 13px;
    }

    /* Swipe instead of stacking every recommendation vertically on phones. */
    body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wc-block-grid__products {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 12px !important;
        padding: 2px 2px 12px !important;
        overflow-x: auto !important;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wc-block-grid__products::-webkit-scrollbar {
        display: none;
    }

    body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wc-block-grid__product {
        flex: 0 0 76% !important;
        width: 76% !important;
        scroll-snap-align: start;
        padding: 13px !important;
        border-radius: 16px !important;
    }

    body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wc-block-grid__product-image {
        aspect-ratio: 1 / .72;
        margin-bottom: 11px !important;
    }

    body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wc-block-grid__product-image img {
        max-height: 170px !important;
        padding: 8px;
    }
}

/* ============================================================
   v2.5.17 — polished Order received / thank-you experience
   Keeps gateway/payment logic untouched; this is presentation only.
   ============================================================ */
body.stampyop-store-theme.stampyop-order-received .site-main {
    max-width: 1180px;
    margin-inline: auto;
}

body.stampyop-store-theme.stampyop-order-received .entry-header,
body.stampyop-store-theme.stampyop-order-received .entry-title {
    display: none;
}

body.stampyop-store-theme.stampyop-order-received .entry-content > .woocommerce,
body.stampyop-store-theme.stampyop-order-received .woocommerce-order {
    width: 100%;
}

body.stampyop-store-theme.stampyop-order-received .woocommerce-order {
    --stampyop-thankyou-border: #dbe4f3;
    --stampyop-thankyou-muted: #66758f;
    --stampyop-thankyou-surface: #f7f9fd;
    padding: clamp(26px, 4vw, 54px) 0 clamp(48px, 6vw, 82px);
}

body.stampyop-store-theme.stampyop-order-received .woocommerce-thankyou-order-received,
body.stampyop-store-theme.stampyop-order-received .woocommerce-notice--success,
body.stampyop-store-theme.stampyop-order-received .woocommerce-notice.woocommerce-notice--success {
    position: relative;
    margin: 0 0 22px;
    padding: 66px 30px 28px;
    overflow: hidden;
    border: 1px solid #cad9f2;
    border-radius: 24px;
    background:
        radial-gradient(circle at 92% 0%, rgba(101, 83, 255, .14), transparent 34%),
        linear-gradient(135deg, #f8fbff 0%, #f3f6ff 100%);
    color: #0d1830;
    font-size: clamp(20px, 2.2vw, 29px);
    font-weight: 800;
    line-height: 1.22;
    box-shadow: 0 18px 48px rgba(30, 56, 105, .09);
}

body.stampyop-store-theme.stampyop-order-received .woocommerce-thankyou-order-received::before,
body.stampyop-store-theme.stampyop-order-received .woocommerce-notice--success::before {
    content: "✓";
    position: absolute;
    top: 23px;
    left: 30px;
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #18c982, #12ad70);
    color: #fff;
    font-size: 16px;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(24, 201, 130, .24);
}

body.stampyop-store-theme.stampyop-order-received .woocommerce-thankyou-order-received::after,
body.stampyop-store-theme.stampyop-order-received .woocommerce-notice--success::after {
    content: "ORDER RECEIVED";
    position: absolute;
    top: 28px;
    left: 72px;
    color: #315fd7;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
}

body.stampyop-store-theme.stampyop-order-received .woocommerce-order-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 24px !important;
    padding: 0 !important;
    list-style: none !important;
}

body.stampyop-store-theme.stampyop-order-received .woocommerce-order-overview li {
    float: none !important;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 16px 17px !important;
    border: 1px solid var(--stampyop-thankyou-border) !important;
    border-radius: 16px;
    background: #fff;
    color: var(--stampyop-thankyou-muted);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.stampyop-store-theme.stampyop-order-received .woocommerce-order-overview li strong {
    display: block;
    margin-top: 5px;
    overflow-wrap: anywhere;
    color: #101b33;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0;
    text-transform: none;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel {
    position: relative;
    margin: 20px 0 28px;
    padding: clamp(22px, 3vw, 32px);
    overflow: hidden;
    border: 1px solid rgba(105, 129, 205, .3);
    border-radius: 22px;
    background:
        radial-gradient(circle at 100% 0%, rgba(90, 98, 255, .22), transparent 35%),
        linear-gradient(135deg, #0e1b38 0%, #1d3f86 100%);
    color: #fff;
    box-shadow: 0 20px 50px rgba(25, 48, 96, .16);
}

body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel h1,
body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel h2,
body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel h3,
body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel h4,
body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel strong {
    color: #fff;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel p,
body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel small {
    color: rgba(255, 255, 255, .78);
}

body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel a,
body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel button,
body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel .button {
    border: 0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #142449 !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel a:hover,
body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel button:hover,
body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel .button:hover {
    transform: translateY(-1px);
}

body.stampyop-store-theme.stampyop-order-received .woocommerce-order-details,
body.stampyop-store-theme.stampyop-order-received .woocommerce-customer-details {
    margin: 22px 0 0;
    padding: clamp(20px, 3vw, 28px);
    border: 1px solid var(--stampyop-thankyou-border);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(28, 52, 99, .07);
}

body.stampyop-store-theme.stampyop-order-received .woocommerce-order-details__title,
body.stampyop-store-theme.stampyop-order-received .woocommerce-column__title,
body.stampyop-store-theme.stampyop-order-received .woocommerce-customer-details h2 {
    margin: 0 0 17px;
    color: #101b33;
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 850;
    line-height: 1.2;
}

body.stampyop-store-theme.stampyop-order-received table.shop_table,
body.stampyop-store-theme.stampyop-order-received .woocommerce-table {
    margin: 0 !important;
    overflow: hidden;
    border: 1px solid #e1e8f4 !important;
    border-radius: 14px !important;
    border-collapse: separate !important;
    border-spacing: 0;
    background: #fff;
}

body.stampyop-store-theme.stampyop-order-received table.shop_table th,
body.stampyop-store-theme.stampyop-order-received table.shop_table td,
body.stampyop-store-theme.stampyop-order-received .woocommerce-table th,
body.stampyop-store-theme.stampyop-order-received .woocommerce-table td {
    padding: 14px 16px !important;
    border-color: #e8edf6 !important;
    vertical-align: middle;
}

body.stampyop-store-theme.stampyop-order-received table.shop_table thead th,
body.stampyop-store-theme.stampyop-order-received .woocommerce-table thead th {
    background: #f7f9fd;
    color: #51617d;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

body.stampyop-store-theme.stampyop-order-received table.shop_table tfoot th,
body.stampyop-store-theme.stampyop-order-received table.shop_table tfoot td {
    font-weight: 800;
}

body.stampyop-store-theme.stampyop-order-received address {
    padding: 17px 18px;
    border: 1px solid #e1e8f4 !important;
    border-radius: 14px;
    background: #f8faff;
    color: #33425e;
    font-style: normal;
    line-height: 1.75;
}

body.stampyop-store-theme.stampyop-order-received .woocommerce-customer-details--phone,
body.stampyop-store-theme.stampyop-order-received .woocommerce-customer-details--email {
    margin-bottom: 5px;
}

@media (max-width: 860px) {
    body.stampyop-store-theme.stampyop-order-received .site-main {
        width: 100%;
        padding-inline: 16px;
    }

    body.stampyop-store-theme.stampyop-order-received .woocommerce-order {
        padding-top: 22px;
    }

    body.stampyop-store-theme.stampyop-order-received .woocommerce-order-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.stampyop-store-theme.stampyop-order-received .woocommerce-thankyou-order-received,
    body.stampyop-store-theme.stampyop-order-received .woocommerce-notice--success {
        padding: 62px 20px 22px;
        border-radius: 19px;
        font-size: 21px;
    }

    body.stampyop-store-theme.stampyop-order-received .woocommerce-thankyou-order-received::before,
    body.stampyop-store-theme.stampyop-order-received .woocommerce-notice--success::before {
        left: 20px;
    }

    body.stampyop-store-theme.stampyop-order-received .woocommerce-thankyou-order-received::after,
    body.stampyop-store-theme.stampyop-order-received .woocommerce-notice--success::after {
        left: 61px;
    }
}

@media (max-width: 560px) {
    body.stampyop-store-theme.stampyop-order-received .woocommerce-order-overview {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    body.stampyop-store-theme.stampyop-order-received .woocommerce-order-overview li {
        padding: 13px 14px !important;
    }

    body.stampyop-store-theme.stampyop-order-received .woocommerce-order-details,
    body.stampyop-store-theme.stampyop-order-received .woocommerce-customer-details,
    body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel {
        padding: 17px;
        border-radius: 17px;
    }

    body.stampyop-store-theme.stampyop-order-received table.shop_table th,
    body.stampyop-store-theme.stampyop-order-received table.shop_table td,
    body.stampyop-store-theme.stampyop-order-received .woocommerce-table th,
    body.stampyop-store-theme.stampyop-order-received .woocommerce-table td {
        padding: 11px 10px !important;
        font-size: 13px;
    }
}


/* ============================================================
   v2.5.18 — order-received cleanup from real-world test
   Removes checkout-only helper copy, balances overview cards and
   prevents empty/manual-payment placeholders from creating giant gaps.
   ============================================================ */
body.stampyop-store-theme.stampyop-order-received .entry-content::before {
    display: none !important;
    content: none !important;
}

@media (min-width: 861px) {
    body.stampyop-store-theme.stampyop-order-received .woocommerce-order-overview {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel textarea,
body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel input[type="text"],
body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel input:not([type]),
body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel pre {
    width: 100%;
    max-width: 100%;
    border: 1px solid rgba(255,255,255,.24) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.96) !important;
    color: #17223b !important;
    box-shadow: none !important;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel textarea {
    min-height: 88px !important;
    max-height: 150px !important;
    padding: 12px 14px !important;
    resize: vertical;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel input[type="text"],
body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel input:not([type]) {
    min-height: 42px !important;
    padding: 9px 12px !important;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel pre {
    max-height: 160px;
    margin: 12px 0 !important;
    padding: 13px 15px !important;
    overflow: auto;
    white-space: pre-wrap;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-payment-empty-block {
    display: none !important;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel > *:last-child {
    margin-bottom: 0 !important;
}

@media (max-width: 560px) {
    body.stampyop-store-theme.stampyop-order-received .woocommerce-order {
        padding-top: 10px;
    }

    body.stampyop-store-theme.stampyop-order-received .woocommerce-thankyou-order-received,
    body.stampyop-store-theme.stampyop-order-received .woocommerce-notice--success {
        margin-bottom: 14px;
    }

    body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel {
        margin-top: 14px;
    }
}

/* ============================================================
   v2.5.19 — concise order confirmation + support handoff
   Desktop, tablet and mobile are handled together in this update.
   ============================================================ */
body.stampyop-store-theme.stampyop-order-received .woocommerce-order-overview li.stampyop-overview-hidden {
    display: none !important;
}

body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-order-overview {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 820px;
    margin: 0 auto 22px !important;
}

body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-order-details,
body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-customer-details {
    display: none !important;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel.stampyop-order-contact-panel {
    max-width: 820px;
    margin: 18px auto 0;
    padding: clamp(24px, 3.2vw, 34px);
    border: 1px solid rgba(111, 137, 224, .34);
    border-radius: 24px;
    background:
        radial-gradient(circle at 100% 0%, rgba(100, 91, 255, .24), transparent 38%),
        linear-gradient(135deg, #0d1a36 0%, #1c4088 100%);
    box-shadow: 0 22px 54px rgba(23, 48, 98, .18);
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    margin-bottom: 10px;
    padding: 5px 9px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    background: rgba(255,255,255,.09);
    color: #8ec5ff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel h2 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(23px, 3vw, 32px);
    font-weight: 850;
    line-height: 1.12;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel p {
    max-width: 690px;
    margin: 0 0 20px;
    color: rgba(255,255,255,.82);
    font-size: 15px;
    line-height: 1.65;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 14px;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel .stampyop-order-contact-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 18px;
    border: 1px solid rgba(255,255,255,.2) !important;
    border-radius: 12px !important;
    color: #fff !important;
    font-size: 14px;
    font-weight: 850 !important;
    line-height: 1.2;
    text-decoration: none !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.12) !important;
    transition: transform .16s ease, filter .16s ease;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel .stampyop-order-contact-whatsapp {
    background: linear-gradient(135deg, #18ad67, #26cf7c) !important;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel .stampyop-order-contact-discord {
    background: linear-gradient(135deg, #5865f2, #766bff) !important;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel .stampyop-order-contact-button:hover {
    transform: translateY(-1px);
    filter: brightness(1.04);
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel small {
    display: block;
    margin: 0;
    color: rgba(255,255,255,.62);
    font-size: 12px;
    line-height: 1.55;
}

@media (max-width: 760px) {
    body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-order-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-order-overview .stampyop-essential-3 {
        grid-column: 1 / -1;
    }

    body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel.stampyop-order-contact-panel {
        margin-top: 12px;
        padding: 20px;
        border-radius: 19px;
    }

    body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel h2 {
        font-size: 24px;
    }
}

@media (max-width: 480px) {
    body.stampyop-store-theme.stampyop-order-received .site-main {
        padding-inline: 12px;
    }

    body.stampyop-store-theme.stampyop-order-received .woocommerce-order {
        padding-bottom: 36px;
    }

    body.stampyop-store-theme.stampyop-order-received .woocommerce-thankyou-order-received,
    body.stampyop-store-theme.stampyop-order-received .woocommerce-notice--success {
        padding: 60px 17px 20px;
        font-size: 20px;
    }

    body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-order-overview {
        grid-template-columns: 1fr;
    }

    body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-order-overview .stampyop-essential-3 {
        grid-column: auto;
    }

    body.stampyop-store-theme.stampyop-order-received .woocommerce-order-overview li {
        padding: 12px 13px !important;
    }

    body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel.stampyop-order-contact-panel {
        padding: 18px;
        border-radius: 17px;
    }

    body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel h2 {
        font-size: 22px;
    }

    body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel p {
        margin-bottom: 16px;
        font-size: 14px;
        line-height: 1.58;
    }

    body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel .stampyop-order-contact-button {
        width: 100%;
        min-height: 48px;
    }
}


/* ============================================================
   v2.5.20 — cleaner order summary + easier final payment step
   Responsive in the same release: desktop, tablet and mobile.
   ============================================================ */
body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-order-overview {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: min(100%, 820px) !important;
    max-width: 820px !important;
    margin: 0 auto 20px !important;
}

body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-order-overview li:not(.stampyop-overview-hidden) {
    display: block !important;
    grid-column: auto !important;
    width: auto !important;
    min-width: 0 !important;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel.stampyop-order-contact-panel {
    width: min(100%, 820px);
    max-width: 820px;
    margin: 16px auto 0;
    padding: clamp(22px, 3vw, 30px);
    border: 1px solid #d9e3f7;
    border-radius: 22px;
    background:
        radial-gradient(circle at 100% 0%, rgba(101, 91, 255, .10), transparent 34%),
        linear-gradient(145deg, #ffffff 0%, #f6f8ff 100%);
    color: #101b33;
    box-shadow: 0 18px 46px rgba(36, 65, 126, .11);
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-top {
    max-width: 660px;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 29px;
    margin-bottom: 12px;
    padding: 5px 10px 5px 7px;
    border: 1px solid #cfeedd;
    border-radius: 999px;
    background: #f0fbf5;
    color: #128553;
    font-size: 11px;
    font-weight: 850;
    line-height: 1;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-status > span {
    display: inline-grid;
    width: 18px;
    height: 18px;
    place-items: center;
    border-radius: 50%;
    background: #1fc477;
    color: #fff;
    font-size: 11px;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel h2 {
    margin: 0 0 8px;
    color: #101b33;
    font-size: clamp(24px, 3vw, 31px);
    font-weight: 850;
    line-height: 1.12;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel p {
    max-width: 650px;
    margin: 0 0 20px;
    color: #65728c;
    font-size: 15px;
    line-height: 1.62;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 14px;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel .stampyop-order-contact-button {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    min-height: 66px;
    padding: 11px 14px;
    border: 0 !important;
    border-radius: 15px !important;
    color: #fff !important;
    text-align: left;
    text-decoration: none !important;
    box-shadow: 0 12px 25px rgba(22, 47, 100, .13) !important;
    transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-icon {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 12px;
    background: rgba(255,255,255,.16);
    color: #fff;
    font-size: 15px;
    font-weight: 900;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-button-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-button-copy strong {
    color: #fff !important;
    font-size: 15px;
    font-weight: 850;
    line-height: 1.2;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-button-copy small {
    margin: 0;
    color: rgba(255,255,255,.84) !important;
    font-size: 11px;
    line-height: 1.3;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel .stampyop-order-contact-whatsapp {
    background: linear-gradient(135deg, #16ad67, #22c978) !important;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel .stampyop-order-contact-discord {
    background: linear-gradient(135deg, #5362ee, #6d63ff) !important;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel .stampyop-order-contact-button:hover {
    transform: translateY(-2px);
    filter: brightness(1.02);
    box-shadow: 0 16px 30px rgba(22, 47, 100, .18) !important;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-note {
    display: flex !important;
    align-items: center;
    gap: 8px;
    margin: 0 !important;
    padding-top: 2px;
    color: #7a879d !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-note > span:first-child {
    display: inline-grid;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    place-items: center;
    border-radius: 50%;
    background: #e9eefb;
    color: #4568d8;
    font-size: 11px;
    font-weight: 900;
}

@media (max-width: 760px) {
    body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-order-overview {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-order-overview .stampyop-essential-3 {
        grid-column: auto !important;
    }

    body.stampyop-store-theme.stampyop-order-received .woocommerce-order-overview li {
        padding: 11px 10px !important;
        border-radius: 13px;
        font-size: 8px;
        letter-spacing: .055em;
    }

    body.stampyop-store-theme.stampyop-order-received .woocommerce-order-overview li strong {
        margin-top: 4px;
        font-size: 13px;
        line-height: 1.2;
    }

    body.stampyop-store-theme.stampyop-order-received .stampyop-payment-next-panel.stampyop-order-contact-panel {
        margin-top: 10px;
        padding: 20px;
        border-radius: 19px;
    }
}

@media (max-width: 520px) {
    body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-order-overview {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    body.stampyop-store-theme.stampyop-order-received .woocommerce-order-overview li {
        padding: 10px 8px !important;
        font-size: 7.5px;
    }

    body.stampyop-store-theme.stampyop-order-received .woocommerce-order-overview li strong {
        font-size: 12px;
        overflow-wrap: anywhere;
    }

    body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel h2 {
        font-size: 23px;
    }

    body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel p {
        margin-bottom: 16px;
        font-size: 14px;
        line-height: 1.55;
    }

    body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-actions {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    body.stampyop-store-theme.stampyop-order-received .stampyop-order-contact-panel .stampyop-order-contact-button {
        min-height: 62px;
    }
}

/* ============================================================
   v2.5.21 — lock the 3 essential order facts to one row
   Explicit placement avoids WooCommerce/source-order quirks.
   ============================================================ */
body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-order-overview {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: auto !important;
    grid-auto-flow: row !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    width: min(100%, 820px) !important;
    max-width: 820px !important;
    margin: 0 auto 20px !important;
}

body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-order-overview .stampyop-essential-1 {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-order-overview .stampyop-essential-2 {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-order-overview .stampyop-essential-3 {
    grid-column: 3 !important;
    grid-row: 1 !important;
}

body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-order-overview li:not(.stampyop-overview-hidden) {
    align-self: stretch !important;
    margin: 0 !important;
}

@media (max-width: 520px) {
    body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-order-overview {
        gap: 5px !important;
    }

    body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-order-overview li:not(.stampyop-overview-hidden) {
        padding: 9px 7px !important;
        border-radius: 12px !important;
        font-size: 7px !important;
        letter-spacing: .035em !important;
    }

    body.stampyop-store-theme.stampyop-order-received.stampyop-order-received-simple .woocommerce-order-overview li:not(.stampyop-overview-hidden) strong {
        font-size: 11.5px !important;
        line-height: 1.15 !important;
    }
}

/* ============================================================
   v2.5.23 — remove stray header/admin search controls
   The storefront uses its own product search, so GeneratePress
   navigation search and the WP admin-bar search are unnecessary.
   ============================================================ */

/* GeneratePress legacy navigation search + newer modal trigger. */
body.stampyop-store-theme .main-navigation .search-item,
body.stampyop-store-theme .main-navigation .menu-bar-item.search-item,
body.stampyop-store-theme .main-navigation [data-gpmodal-trigger="gp-search"],
body.stampyop-store-theme .main-navigation .navigation-search,
body.stampyop-store-theme .navigation-search,
body.stampyop-store-theme #gp-search,
body.stampyop-store-theme .gp-search-modal {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* WordPress' toolbar search is admin-only and was inheriting storefront input
   styles, which made it look like a white rectangle beside the user name. */
#wpadminbar #wp-admin-bar-search {
    display: none !important;
}



/* ============================================================
   v2.5.24 — payment transparency + scalable FAQ polish
   Keep the FAQ useful even before the owner finishes editing all
   FAQ posts. Payment methods are visible at a glance, while the
   accordion remains compact on desktop, tablet and mobile.
   ============================================================ */
.stampyop-store-theme .stampyop-faq-payment-preview {
    width: 100%;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,.13);
}
.stampyop-store-theme .stampyop-faq-payment-label {
    display: block;
    margin-bottom: 9px;
    color: #b9c9e8;
    font-size: 10px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.stampyop-store-theme .stampyop-faq-payment-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.stampyop-store-theme .stampyop-faq-payment-chips span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 5px 9px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 999px;
    color: #eef4ff;
    background: rgba(255,255,255,.08);
    font-size: 10.5px;
    line-height: 1.1;
    font-weight: 700;
    white-space: nowrap;
}
.stampyop-store-theme .stampyop-faq-item-payment {
    border-color: #cfdbfb;
    background: linear-gradient(180deg,#ffffff 0%,#f8faff 100%);
}
.stampyop-store-theme .stampyop-faq-item-payment summary::before {
    content: "Payment";
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-height: 20px;
    margin-right: 2px;
    padding: 3px 7px;
    border-radius: 999px;
    color: #2d61d8;
    background: #eef3ff;
    font-size: 8.5px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

@media (max-width: 900px) {
    .stampyop-store-theme .stampyop-faq-payment-preview {
        max-width: 560px;
    }
}

@media (max-width: 620px) {
    .stampyop-store-theme .stampyop-faq-section {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
    .stampyop-store-theme .stampyop-faq-layout {
        gap: 14px !important;
        padding: 12px !important;
        border-radius: 20px !important;
    }
    .stampyop-store-theme .stampyop-faq-section .stampyop-section-heading {
        padding: 19px !important;
        border-radius: 16px !important;
    }
    .stampyop-store-theme .stampyop-faq-section .stampyop-section-heading h2 {
        margin-top: 11px !important;
        font-size: clamp(28px,8.5vw,34px) !important;
        line-height: 1 !important;
    }
    .stampyop-store-theme .stampyop-faq-section .stampyop-section-heading p {
        margin-top: 10px !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
    }
    .stampyop-store-theme .stampyop-faq-payment-preview {
        margin-top: 13px;
        padding-top: 12px;
    }
    .stampyop-store-theme .stampyop-faq-payment-chips {
        gap: 5px;
    }
    .stampyop-store-theme .stampyop-faq-payment-chips span {
        min-height: 24px;
        padding: 4px 7px;
        font-size: 9.5px;
    }
    .stampyop-store-theme .stampyop-faq-support-link {
        margin-top: 13px !important;
        padding: 7px 9px !important;
        font-size: 10.5px !important;
    }
    .stampyop-store-theme .stampyop-faq-list {
        gap: 7px !important;
    }
    .stampyop-store-theme .stampyop-faq-item summary {
        min-height: 44px !important;
        gap: 8px !important;
        padding: 9px 9px 9px 12px !important;
        font-size: 12px !important;
    }
    .stampyop-store-theme .stampyop-faq-item-payment summary::before {
        display: none;
    }
    .stampyop-store-theme .stampyop-faq-item > div {
        padding: 0 12px 12px !important;
        font-size: 11.5px !important;
        line-height: 1.5 !important;
    }
}


/* ============================================================
   v2.5.25 — clearer payment-provider identification in FAQ
   Use neutral local monogram marks plus direct official-site links.
   This avoids ambiguous provider names without hotlinking third-party
   brand assets, and stays compact/responsive across breakpoints.
   ============================================================ */
.stampyop-store-theme .stampyop-faq-payment-preview-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 9px;
}
.stampyop-store-theme .stampyop-faq-payment-preview-head .stampyop-faq-payment-label {
    margin-bottom: 0;
}
.stampyop-store-theme .stampyop-faq-payment-hint {
    color: #aebfdf;
    font-size: 9px;
    line-height: 1.2;
    font-weight: 700;
    text-align: right;
}
.stampyop-store-theme .stampyop-faq-payment-methods {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 7px;
}
.stampyop-store-theme .stampyop-payment-method-card {
    position: relative;
    display: grid;
    grid-template-columns: 28px minmax(0,1fr) auto;
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 46px;
    padding: 7px 8px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 12px;
    background: rgba(255,255,255,.075);
    color: #f7f9ff;
    text-decoration: none !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.stampyop-store-theme a.stampyop-payment-method-card:hover,
.stampyop-store-theme a.stampyop-payment-method-card:focus-visible {
    color: #fff;
    background: rgba(255,255,255,.13);
    border-color: rgba(143,170,255,.55);
    transform: translateY(-1px);
}
.stampyop-store-theme .stampyop-payment-method-card.is-crypto {
    grid-template-columns: 28px minmax(0,1fr);
}
.stampyop-store-theme .stampyop-payment-method-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 9px;
    color: #162345;
    background: #eef3ff;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.02em;
}
.stampyop-store-theme .stampyop-payment-method-mark-wide {
    font-size: 9px;
}
.stampyop-store-theme .stampyop-payment-method-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.stampyop-store-theme .stampyop-payment-method-copy strong {
    overflow: hidden;
    color: #fff;
    font-size: 10.5px;
    line-height: 1.15;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.stampyop-store-theme .stampyop-payment-method-copy small {
    overflow: hidden;
    margin-top: 3px;
    color: #b9c9e8;
    font-size: 8.5px;
    line-height: 1.15;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.stampyop-store-theme .stampyop-payment-method-external {
    align-self: start;
    color: #93adff;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
}
.stampyop-store-theme .stampyop-faq-payment-reference-note {
    display: block;
    margin-top: 9px;
    color: #9fb2d5;
    font-size: 8.75px;
    line-height: 1.45;
}
@media (max-width: 900px) {
    .stampyop-store-theme .stampyop-faq-payment-methods {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}
@media (max-width: 620px) {
    .stampyop-store-theme .stampyop-faq-payment-preview-head {
        align-items: flex-end;
        margin-bottom: 7px;
    }
    .stampyop-store-theme .stampyop-faq-payment-hint {
        max-width: 120px;
        font-size: 8px;
    }
    .stampyop-store-theme .stampyop-faq-payment-methods {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 6px;
    }
    .stampyop-store-theme .stampyop-payment-method-card {
        grid-template-columns: 25px minmax(0,1fr) auto;
        min-height: 42px;
        gap: 6px;
        padding: 6px 7px;
        border-radius: 10px;
    }
    .stampyop-store-theme .stampyop-payment-method-card.is-crypto {
        grid-template-columns: 25px minmax(0,1fr);
    }
    .stampyop-store-theme .stampyop-payment-method-mark {
        width: 25px;
        height: 25px;
        border-radius: 8px;
        font-size: 10px;
    }
    .stampyop-store-theme .stampyop-payment-method-mark-wide {
        font-size: 8px;
    }
    .stampyop-store-theme .stampyop-payment-method-copy strong {
        font-size: 9.5px;
    }
    .stampyop-store-theme .stampyop-payment-method-copy small {
        font-size: 7.5px;
    }
    .stampyop-store-theme .stampyop-faq-payment-reference-note {
        margin-top: 7px;
        font-size: 8px;
    }
}
@media (max-width: 370px) {
    .stampyop-store-theme .stampyop-faq-payment-methods {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================
   v2.5.27 — Reviews page polish + natural-height masonry cards
   ========================================================== */
body.page-reviews.stampyop-store-theme .site-content,
body.page-reviews.stampyop-store-theme .content-area,
body.page-reviews.stampyop-store-theme .site-main {
    width: 100%;
    max-width: none;
}
body.page-reviews.stampyop-store-theme .site-content {
    display: block;
    padding: 0;
}
body.page-reviews.stampyop-store-theme #primary { width: 100%; }
body.page-reviews.stampyop-store-theme .widget-area { display: none !important; }

.stampyop-reviews-page {
    margin: 0 !important;
    background: #f6f8fc;
}
.stampyop-reviews-page-hero {
    padding: 54px 0 34px;
    background:
        radial-gradient(circle at 10% 8%, rgba(47,109,246,.10), transparent 28%),
        radial-gradient(circle at 92% 78%, rgba(112,78,255,.10), transparent 28%),
        linear-gradient(180deg,#ffffff 0%,#f6f8fc 100%);
}
.stampyop-reviews-page-hero-card {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0,1.08fr) minmax(350px,.92fr);
    gap: 42px;
    align-items: center;
    padding: 48px;
    overflow: hidden;
    border: 1px solid rgba(138,167,229,.24);
    border-radius: 30px;
    background:
        radial-gradient(circle at 75% 20%, rgba(111,84,255,.38), transparent 33%),
        linear-gradient(135deg,#0b1938 0%,#102a61 55%,#302b85 100%);
    box-shadow: 0 28px 72px rgba(24,39,75,.17);
}
.stampyop-reviews-page-hero-card::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 330px;
    height: 330px;
    right: -120px;
    bottom: -180px;
    border-radius: 50%;
    border: 58px solid rgba(255,255,255,.045);
}
.stampyop-reviews-page-hero-card::after {
    content: "★★★★★";
    position: absolute;
    z-index: -1;
    right: 35px;
    top: 24px;
    color: rgba(255,255,255,.055);
    font-size: 64px;
    line-height: 1;
    letter-spacing: .09em;
    transform: rotate(-7deg);
    pointer-events: none;
}
.stampyop-reviews-page-hero .stampyop-kicker {
    color: #9fc1ff;
}
.stampyop-reviews-page-copy h1 {
    max-width: 630px;
    margin: 0;
    color: #fff;
    font-size: clamp(44px,5.5vw,68px);
    line-height: 1;
    letter-spacing: -.048em;
    text-wrap: balance;
}
.stampyop-reviews-page-copy > p {
    max-width: 690px;
    margin: 18px 0 0;
    color: #c7d2e7;
    font-size: 16px;
    line-height: 1.72;
}
.stampyop-reviews-page-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 27px;
}
.stampyop-reviews-page-actions .stampyop-button-primary {
    border-color: #fff;
    color: #14213e;
    background: #fff;
    box-shadow: 0 10px 26px rgba(0,0,0,.16);
}
.stampyop-reviews-page-actions .stampyop-button-primary:hover {
    color: #14213e;
    background: #f3f6ff;
}
.stampyop-reviews-page-actions .stampyop-button-secondary {
    border-color: rgba(255,255,255,.25);
    color: #fff;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(8px);
}
.stampyop-reviews-page-actions .stampyop-button-secondary:hover {
    border-color: rgba(255,255,255,.45);
    color: #fff;
    background: rgba(255,255,255,.14);
}
.stampyop-reviews-page-stats {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
}
.stampyop-review-stat {
    min-height: 142px;
    padding: 20px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 19px;
    background: linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.07));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(10px);
}
.stampyop-review-stat-wide {
    grid-column: 1 / -1;
    min-height: 108px;
}
.stampyop-review-stat > span {
    display: block;
    color: #aebddd;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.stampyop-review-stat > strong {
    display: block;
    margin-top: 11px;
    color: #fff;
    font-size: 35px;
    line-height: 1;
    letter-spacing: -.035em;
}
.stampyop-review-stat:first-child > strong::before {
    content: "★";
    margin-right: 8px;
    color: #ffc44d;
    font-size: .72em;
    vertical-align: .08em;
}
.stampyop-review-stat > small {
    display: block;
    margin-top: 8px;
    color: #aab7d2;
    font-size: 11px;
    line-height: 1.45;
}
.stampyop-review-stat .stampyop-review-source-line {
    font-size: 18px;
    line-height: 1.3;
    letter-spacing: -.01em;
}

.stampyop-reviews-page-list-section { padding: 50px 0 88px; }
.stampyop-reviews-page-list-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}
.stampyop-reviews-page-list-head h2 {
    margin: 0;
    color: #17233c;
    font-size: clamp(30px,4vw,44px);
    line-height: 1.08;
    letter-spacing: -.035em;
}
.stampyop-reviews-page-list-head > p {
    margin: 0;
    padding: 7px 11px;
    border: 1px solid #dfe6f1;
    border-radius: 999px;
    color: #66758d;
    background: rgba(255,255,255,.78);
    font-size: 11px;
    font-weight: 750;
}

/* Grid rows are intentionally tiny. JavaScript calculates each card span from its
 * real content height so a one-line review no longer inherits the height of a long
 * review in the same row. */
.stampyop-all-reviews-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    grid-auto-rows: 8px;
    grid-auto-flow: row dense;
    align-items: start;
    column-gap: 18px;
    row-gap: 18px;
}
.stampyop-all-review-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-self: start;
    min-width: 0;
    min-height: 0;
    height: auto;
    padding: 23px;
    overflow: hidden;
    border: 1px solid #dfe6f0;
    border-radius: 20px;
    background: linear-gradient(180deg,#ffffff 0%,#fbfcff 100%);
    box-shadow: 0 11px 30px rgba(25,42,79,.055);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.stampyop-all-review-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg,#2f6df6,#6854ff);
    opacity: .78;
}
.stampyop-all-review-card::after {
    content: "“";
    position: absolute;
    right: 16px;
    top: 42px;
    color: #edf2fb;
    font-family: Georgia,serif;
    font-size: 78px;
    line-height: 1;
    pointer-events: none;
}
.stampyop-all-review-card:hover {
    transform: translateY(-3px);
    border-color: #cbd7eb;
    box-shadow: 0 17px 38px rgba(25,42,79,.09);
}
.stampyop-all-review-top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.stampyop-all-review-top .stampyop-stars {
    color: #f5a623;
    font-size: 14px;
    letter-spacing: .055em;
}
.stampyop-review-feedback-label {
    color: #65758d;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .065em;
    text-transform: uppercase;
}
.stampyop-review-source {
    padding: 5px 8px;
    border: 1px solid #dce5f3;
    border-radius: 999px;
    color: #5e708d;
    background: #f7f9fd;
    font-size: 9px;
    font-weight: 750;
    line-height: 1;
}
.stampyop-all-review-text {
    position: relative;
    z-index: 1;
    margin-top: 21px;
}
.stampyop-all-review-text p {
    margin: 0;
    color: #2b3a53;
    font-size: 14px;
    line-height: 1.68;
}
.stampyop-all-review-meta {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
    margin-top: 23px;
    padding-top: 15px;
    border-top: 1px solid #edf1f6;
}
.stampyop-all-review-meta strong,
.stampyop-all-review-meta span { display: block; }
.stampyop-all-review-meta strong { color: #17233c; font-size: 13px; }
.stampyop-all-review-meta span { margin-top: 3px; color: #718099; font-size: 10px; }
.stampyop-all-review-meta span a { color: #426fe8; text-decoration: none; font-weight: 700; }
.stampyop-all-review-meta span a:hover { text-decoration: underline; }
.stampyop-all-review-meta time { flex: 0 0 auto; color: #8995a8; font-size: 9px; }

.stampyop-reviews-pagination { margin-top: 36px; }
.stampyop-reviews-pagination ul.page-numbers {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.stampyop-reviews-pagination .page-numbers a,
.stampyop-reviews-pagination .page-numbers span {
    display: inline-flex;
    min-width: 38px;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid #dfe6f0;
    border-radius: 11px;
    color: #385175;
    background: #fff;
    font-size: 12px;
    font-weight: 750;
    text-decoration: none;
}
.stampyop-reviews-pagination .page-numbers .current {
    color: #fff;
    border-color: #2f6df6;
    background: linear-gradient(135deg,#2f6df6,#6552f6);
}
.stampyop-reviews-empty {
    padding: 54px 24px;
    border: 1px solid #dfe6f0;
    border-radius: 24px;
    text-align: center;
    background: #fff;
}
.stampyop-reviews-empty-icon {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    margin: 0 auto 16px;
    border-radius: 16px;
    color: #2f6df6;
    background: #eef4ff;
    font-size: 24px;
}
.stampyop-reviews-empty h2 { margin: 0; color: #17233c; }
.stampyop-reviews-empty p { max-width: 620px; margin: 12px auto 22px; color: #6f7d92; }

@media (max-width: 1024px) {
    .stampyop-reviews-page-hero-card {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 36px;
    }
    .stampyop-reviews-page-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .stampyop-review-stat-wide { grid-column: auto; min-height: 142px; }
    .stampyop-review-stat .stampyop-review-source-line { font-size: 15px; }
    .stampyop-all-reviews-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 700px) {
    .stampyop-reviews-page-hero { padding: 24px 0 18px; }
    .stampyop-reviews-page .stampyop-shell { width: min(100% - 24px,1180px); }
    .stampyop-reviews-page-hero-card {
        gap: 21px;
        padding: 25px 18px 20px;
        border-radius: 22px;
    }
    .stampyop-reviews-page-hero-card::after { right: 12px; top: 15px; font-size: 34px; }
    .stampyop-reviews-page-copy h1 { font-size: 39px; }
    .stampyop-reviews-page-copy > p { margin-top: 12px; color: #c4d0e5; font-size: 13px; line-height: 1.58; }
    .stampyop-reviews-page-actions { gap: 8px; margin-top: 19px; }
    .stampyop-reviews-page-actions .stampyop-button { flex: 1 1 0; min-height: 42px; padding: 0 12px; font-size: 11px; }
    .stampyop-reviews-page-stats { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
    .stampyop-review-stat,
    .stampyop-review-stat-wide {
        min-height: 91px;
        padding: 11px 8px;
        border-radius: 13px;
    }
    .stampyop-review-stat > span { font-size: 6.8px; letter-spacing: .04em; }
    .stampyop-review-stat > strong { margin-top: 8px; font-size: 21px; }
    .stampyop-review-stat:first-child > strong::before { margin-right: 4px; }
    .stampyop-review-stat .stampyop-review-source-line { font-size: 9.5px; line-height: 1.25; }
    .stampyop-review-stat > small { margin-top: 5px; color: #aebbd4; font-size: 7.2px; line-height: 1.3; }

    .stampyop-reviews-page-list-section { padding: 30px 0 52px; }
    .stampyop-reviews-page-list-head { align-items: flex-start; margin-bottom: 17px; }
    .stampyop-reviews-page-list-head h2 { font-size: 30px; }
    .stampyop-reviews-page-list-head > p { margin-top: 2px; padding: 5px 8px; font-size: 9px; }
    .stampyop-all-reviews-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
        grid-auto-flow: row;
        gap: 11px;
    }
    .stampyop-all-review-card {
        grid-row-end: auto !important;
        padding: 18px;
        border-radius: 17px;
    }
    .stampyop-all-review-card::after { right: 12px; top: 37px; font-size: 62px; }
    .stampyop-all-review-top .stampyop-stars { font-size: 13px; }
    .stampyop-all-review-text { margin-top: 16px; }
    .stampyop-all-review-text p { font-size: 13px; line-height: 1.58; }
    .stampyop-all-review-meta { margin-top: 18px; padding-top: 13px; }
    .stampyop-all-review-meta strong { font-size: 12px; }
    .stampyop-all-review-meta span { font-size: 9px; }
    .stampyop-all-review-meta time { font-size: 8px; }
    .stampyop-reviews-pagination { margin-top: 24px; }
    .stampyop-reviews-pagination .page-numbers a,
    .stampyop-reviews-pagination .page-numbers span { min-width: 34px; min-height: 34px; padding: 6px 9px; font-size: 10px; }
}


/* ==========================================================
   v2.5.28 — Reviews hero headline: single line on desktop
   ========================================================== */
@media (min-width: 1025px) {
    .stampyop-reviews-page-copy h1 {
        max-width: none;
        font-size: clamp(46px,4.15vw,56px);
        line-height: 1.02;
        letter-spacing: -.045em;
        white-space: nowrap;
        text-wrap: nowrap;
    }
}

@media (max-width: 1024px) {
    .stampyop-reviews-page-copy h1 {
        white-space: normal;
        text-wrap: balance;
    }
}

/* ==========================================================
   v2.5.29 — Standalone Blog page
   ========================================================== */
body.blog.stampyop-store-theme .site-content,
body.blog.stampyop-store-theme .content-area,
body.blog.stampyop-store-theme .site-main {
    width: 100%;
    max-width: none;
}
body.blog.stampyop-store-theme .site-content {
    display: block;
    padding: 0;
}
body.blog.stampyop-store-theme #primary { width: 100%; }
body.blog.stampyop-store-theme .widget-area { display: none !important; }

.stampyop-blog-page {
    margin: 0 !important;
    background: #f6f8fc;
}
.stampyop-blog-page-hero {
    padding: 54px 0 34px;
    background:
        radial-gradient(circle at 12% 4%, rgba(47,109,246,.10), transparent 30%),
        radial-gradient(circle at 90% 78%, rgba(105,83,255,.11), transparent 29%),
        linear-gradient(180deg,#fff 0%,#f6f8fc 100%);
}
.stampyop-blog-page-hero-card {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr);
    gap: 48px;
    align-items: center;
    padding: 52px;
    overflow: hidden;
    border: 1px solid rgba(138,167,229,.22);
    border-radius: 30px;
    background:
        radial-gradient(circle at 82% 20%, rgba(111,84,255,.34), transparent 34%),
        linear-gradient(135deg,#0b1938 0%,#102a61 57%,#302b85 100%);
    box-shadow: 0 28px 72px rgba(24,39,75,.16);
}
.stampyop-blog-page-hero-card::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 360px;
    height: 360px;
    right: -155px;
    bottom: -205px;
    border-radius: 50%;
    border: 62px solid rgba(255,255,255,.045);
}
.stampyop-blog-page-hero-card::after {
    content: "✦  ✦  ✦";
    position: absolute;
    z-index: -1;
    right: 44px;
    top: 30px;
    color: rgba(255,255,255,.05);
    font-size: 58px;
    letter-spacing: .22em;
    transform: rotate(-8deg);
    pointer-events: none;
}
.stampyop-blog-page-hero .stampyop-kicker { color: #9fc1ff; }
.stampyop-blog-page-hero-copy h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(48px,6vw,72px);
    line-height: 1;
    letter-spacing: -.05em;
}
.stampyop-blog-page-hero-copy > p {
    max-width: 690px;
    margin: 20px 0 0;
    color: #c7d2e7;
    font-size: 16px;
    line-height: 1.72;
}
.stampyop-blog-page-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 28px;
}
.stampyop-blog-page-hero-actions .stampyop-button-primary {
    border-color: #fff;
    color: #14213e;
    background: #fff;
    box-shadow: 0 10px 26px rgba(0,0,0,.15);
}
.stampyop-blog-page-hero-actions .stampyop-button-primary:hover {
    color: #14213e;
    background: #f3f6ff;
}
.stampyop-blog-page-hero-actions .stampyop-button-secondary {
    border-color: rgba(255,255,255,.24);
    color: #fff;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(8px);
}
.stampyop-blog-page-hero-actions .stampyop-button-secondary:hover {
    border-color: rgba(255,255,255,.44);
    color: #fff;
    background: rgba(255,255,255,.14);
}
.stampyop-blog-page-hero-visual {
    position: relative;
    min-height: 230px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 30px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 24px;
    background: linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.065));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(10px);
}
.stampyop-blog-page-hero-icon {
    position: absolute;
    right: 24px;
    top: 14px;
    color: rgba(255,255,255,.22);
    font-size: 76px;
    line-height: 1;
}
.stampyop-blog-page-hero-visual strong {
    max-width: 310px;
    color: #fff;
    font-size: 30px;
    line-height: 1.08;
    letter-spacing: -.035em;
}
.stampyop-blog-page-hero-visual small {
    margin-top: 13px;
    color: #aebddd;
    font-size: 12px;
    font-weight: 700;
}

.stampyop-blog-page-articles { padding: 48px 0 90px; }
.stampyop-blog-page-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 24px;
    margin-bottom: 26px;
}
.stampyop-blog-page-heading h2 {
    margin: 0;
    color: #17233c;
    font-size: clamp(32px,4vw,46px);
    line-height: 1.05;
    letter-spacing: -.04em;
}
.stampyop-blog-page-heading p {
    margin: 10px 0 0;
    color: #6b7890;
    font-size: 15px;
}
.stampyop-blog-page-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 20px;
}
.stampyop-blog-page-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dfe6f0;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(25,42,79,.055);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.stampyop-blog-page-card:hover {
    transform: translateY(-4px);
    border-color: #cbd7eb;
    box-shadow: 0 18px 42px rgba(25,42,79,.10);
}
.stampyop-blog-page-card-media {
    display: block;
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #eaf0ff;
}
.stampyop-blog-page-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}
.stampyop-blog-page-card:hover .stampyop-blog-page-card-media img { transform: scale(1.035); }
.stampyop-blog-page-card-placeholder {
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    justify-content: flex-end;
    padding: 22px;
    color: #fff;
    background:
        radial-gradient(circle at 80% 15%,rgba(255,255,255,.20),transparent 28%),
        linear-gradient(135deg,#173d86,#5c4ef2);
}
.stampyop-blog-page-card-placeholder span {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: .72;
}
.stampyop-blog-page-card-placeholder strong {
    margin-top: 4px;
    font-size: 29px;
    line-height: 1;
    letter-spacing: -.04em;
}
.stampyop-blog-page-card-body {
    display: flex;
    min-height: 265px;
    flex-direction: column;
    padding: 23px;
}
.stampyop-blog-page-card-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 24px;
    color: #8a96aa;
    font-size: 10px;
    font-weight: 700;
}
.stampyop-blog-page-category {
    max-width: 65%;
    overflow: hidden;
    padding: 5px 8px;
    border: 1px solid #dce5f3;
    border-radius: 999px;
    color: #3b5d9a;
    background: #f5f8ff;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.stampyop-blog-page-card h3 {
    margin: 16px 0 0;
    font-size: 21px;
    line-height: 1.28;
    letter-spacing: -.022em;
}
.stampyop-blog-page-card h3 a {
    color: #17233c;
    text-decoration: none;
}
.stampyop-blog-page-card h3 a:hover { color: #2f63df; }
.stampyop-blog-page-card-body > p {
    margin: 11px 0 18px;
    color: #6c7890;
    font-size: 13px;
    line-height: 1.68;
}
.stampyop-blog-page-read {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    margin-top: auto;
    color: #315fd5;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}
.stampyop-blog-page-read span { transition: transform .18s ease; }
.stampyop-blog-page-read:hover span { transform: translateX(3px); }

.stampyop-blog-pagination { margin-top: 38px; }
.stampyop-blog-pagination .page-numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none;
}
.stampyop-blog-pagination a,
.stampyop-blog-pagination span {
    display: inline-flex;
    min-width: 40px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 0 13px;
    border: 1px solid #dce4f0;
    border-radius: 11px;
    color: #3f4f69;
    background: #fff;
    font-size: 12px;
    font-weight: 750;
    text-decoration: none;
}
.stampyop-blog-pagination .current {
    border-color: #315fd5;
    color: #fff;
    background: linear-gradient(135deg,#2f6df6,#6554f5);
}
.stampyop-blog-empty {
    max-width: 720px;
    margin: 0 auto;
    padding: 48px 30px;
    border: 1px solid #dfe6f0;
    border-radius: 24px;
    text-align: center;
    background: #fff;
    box-shadow: 0 14px 35px rgba(25,42,79,.06);
}
.stampyop-blog-empty > span {
    display: inline-flex;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(135deg,#2f6df6,#6554f5);
    font-size: 22px;
}
.stampyop-blog-empty h2 {
    margin: 17px 0 0;
    color: #17233c;
    font-size: 30px;
}
.stampyop-blog-empty p {
    max-width: 530px;
    margin: 10px auto 22px;
    color: #6c7890;
    line-height: 1.65;
}

@media (max-width: 980px) {
    .stampyop-blog-page-hero-card {
        grid-template-columns: minmax(0,1fr) minmax(250px,.72fr);
        gap: 28px;
        padding: 38px;
    }
    .stampyop-blog-page-hero-visual { min-height: 210px; }
    .stampyop-blog-page-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 700px) {
    .stampyop-blog-page-hero { padding: 26px 0 22px; }
    .stampyop-blog-page-hero-card {
        grid-template-columns: 1fr;
        gap: 22px;
        padding: 28px 22px;
        border-radius: 23px;
    }
    .stampyop-blog-page-hero-card::after {
        right: -10px;
        top: 18px;
        font-size: 42px;
    }
    .stampyop-blog-page-hero-copy h1 {
        font-size: clamp(40px,12vw,52px);
        line-height: 1.02;
    }
    .stampyop-blog-page-hero-copy > p {
        margin-top: 15px;
        font-size: 14px;
        line-height: 1.65;
    }
    .stampyop-blog-page-hero-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 9px;
        margin-top: 21px;
    }
    .stampyop-blog-page-hero-actions .stampyop-button {
        min-width: 0;
        padding-inline: 12px;
        font-size: 12px;
    }
    .stampyop-blog-page-hero-visual {
        min-height: 145px;
        padding: 21px;
        border-radius: 18px;
    }
    .stampyop-blog-page-hero-icon { font-size: 55px; }
    .stampyop-blog-page-hero-visual strong { font-size: 24px; }
    .stampyop-blog-page-articles { padding: 34px 0 64px; }
    .stampyop-blog-page-heading { margin-bottom: 20px; }
    .stampyop-blog-page-heading h2 { font-size: 31px; }
    .stampyop-blog-page-heading p { font-size: 13px; }
    .stampyop-blog-page-grid { grid-template-columns: 1fr; gap: 15px; }
    .stampyop-blog-page-card { border-radius: 18px; }
    .stampyop-blog-page-card-body { min-height: 0; padding: 19px; }
    .stampyop-blog-page-card h3 { margin-top: 13px; font-size: 19px; }
    .stampyop-blog-page-card-body > p { margin-bottom: 15px; }
}

@media (max-width: 420px) {
    .stampyop-blog-page-hero-actions { grid-template-columns: 1fr; }
    .stampyop-blog-page-hero-visual { display: none; }
    .stampyop-blog-page-card-media { aspect-ratio: 16 / 9.5; }
}

/* =========================================================
   v2.5.31 — About Us page
   ========================================================= */
.stampyop-about-page {
    background: #f4f7fc;
    color: #0b1938;
}

.stampyop-about-page-hero {
    padding: 34px 0 28px;
}

.stampyop-about-page-hero-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr);
    gap: 54px;
    align-items: center;
    min-height: 430px;
    padding: 54px;
    border: 1px solid rgba(133,164,255,.22);
    border-radius: 28px;
    background:
        radial-gradient(circle at 87% 16%, rgba(111,92,255,.30), transparent 32%),
        linear-gradient(135deg,#091b43 0%,#12366f 58%,#4c3ed0 118%);
    box-shadow: 0 28px 70px rgba(21,39,82,.17);
}

.stampyop-about-page-hero-card::after {
    content: "";
    position: absolute;
    right: -78px;
    bottom: -122px;
    width: 310px;
    height: 310px;
    border: 44px solid rgba(255,255,255,.055);
    border-radius: 50%;
    pointer-events: none;
}

.stampyop-about-page-hero-copy,
.stampyop-about-page-hero-panel {
    position: relative;
    z-index: 1;
}

.stampyop-about-page-hero .stampyop-kicker,
.stampyop-about-page-process .stampyop-kicker,
.stampyop-about-page-support .stampyop-kicker {
    color: #9fc1ff;
}

.stampyop-about-page-hero-copy h1 {
    max-width: 680px;
    margin: 14px 0 16px;
    color: #fff;
    font-size: clamp(42px,5vw,68px);
    line-height: .98;
    letter-spacing: -.045em;
}

.stampyop-about-page-hero-copy > p {
    max-width: 650px;
    margin: 0;
    color: #c6d3ea;
    font-size: 17px;
    line-height: 1.72;
}

.stampyop-about-page-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.stampyop-about-page-actions .stampyop-button-primary {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg,#2f6df6,#6956ff);
    box-shadow: 0 14px 30px rgba(44,91,230,.28);
}

.stampyop-about-page-actions .stampyop-button-secondary {
    color: #fff;
    border-color: rgba(255,255,255,.25);
    background: rgba(255,255,255,.07);
}

.stampyop-about-page-actions .stampyop-button-secondary:hover {
    color: #fff;
    border-color: rgba(255,255,255,.4);
    background: rgba(255,255,255,.12);
}

.stampyop-about-page-hero-panel {
    min-height: 292px;
    padding: 30px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 24px;
    background: linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.065));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.09);
    backdrop-filter: blur(10px);
}

.stampyop-about-page-hero-mark {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: 23px;
    border-radius: 15px;
    color: #fff;
    font-size: 20px;
    font-weight: 900;
    background: linear-gradient(135deg,#57a5ff,#8065ff);
    box-shadow: 0 12px 28px rgba(64,87,230,.25);
}

.stampyop-about-page-hero-panel-copy small {
    display: block;
    margin-bottom: 7px;
    color: #9fb6dc;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
}

.stampyop-about-page-hero-panel-copy strong {
    display: block;
    color: #fff;
    font-size: 29px;
    line-height: 1.08;
    letter-spacing: -.025em;
}

.stampyop-about-page-hero-panel-copy p {
    max-width: 470px;
    margin: 12px 0 0;
    color: #c8d4e8;
    font-size: 13px;
    line-height: 1.62;
}

.stampyop-about-page-mini-stats {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 8px;
    margin-top: 25px;
}

.stampyop-about-page-mini-stats > div {
    padding: 13px 12px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 15px;
    background: rgba(2,16,49,.18);
}

.stampyop-about-page-mini-stats strong,
.stampyop-about-page-mini-stats span {
    display: block;
}

.stampyop-about-page-mini-stats strong {
    color: #fff;
    font-size: 18px;
    line-height: 1.1;
}

.stampyop-about-page-mini-stats span {
    margin-top: 4px;
    color: #aebfdb;
    font-size: 9px;
    line-height: 1.35;
}

.stampyop-about-page-values {
    padding: 62px 0 70px;
}

.stampyop-about-page-section-head {
    max-width: 760px;
    margin-bottom: 30px;
}

.stampyop-about-page-section-head h2,
.stampyop-about-page-process-copy h2,
.stampyop-about-page-support-card h2 {
    margin: 10px 0 10px;
    color: #0b1938;
    font-size: clamp(34px,4vw,49px);
    line-height: 1.04;
    letter-spacing: -.035em;
}

.stampyop-about-page-section-head > p {
    max-width: 650px;
    margin: 0;
    color: #65728a;
    font-size: 15px;
    line-height: 1.7;
}

.stampyop-about-page-value-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 16px;
}

.stampyop-about-page-value-card {
    min-height: 220px;
    padding: 24px;
    border: 1px solid #dfe7f4;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(28,48,89,.055);
}

.stampyop-about-page-value-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    color: #315be8;
    font-size: 16px;
    font-weight: 900;
    background: linear-gradient(145deg,#eef4ff,#f2efff);
}

.stampyop-about-page-value-card h3 {
    margin: 28px 0 8px;
    color: #0d1c3e;
    font-size: 18px;
    line-height: 1.2;
}

.stampyop-about-page-value-card p {
    margin: 0;
    color: #6b778e;
    font-size: 13px;
    line-height: 1.65;
}

.stampyop-about-page-process {
    padding: 0 0 72px;
}

.stampyop-about-page-process-card {
    display: grid;
    grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr);
    gap: 58px;
    padding: 46px;
    border: 1px solid #dfe6f3;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 20px 54px rgba(25,45,82,.07);
}

.stampyop-about-page-process .stampyop-kicker {
    color: #3569ef;
}

.stampyop-about-page-process-copy h2 {
    font-size: clamp(32px,3.3vw,45px);
}

.stampyop-about-page-process-copy > p {
    margin: 0 0 23px;
    color: #68758b;
    font-size: 14px;
    line-height: 1.7;
}

.stampyop-about-page-steps {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.stampyop-about-page-steps li {
    display: grid;
    grid-template-columns: 48px minmax(0,1fr);
    gap: 14px;
    align-items: start;
    padding: 17px;
    border: 1px solid #e1e8f4;
    border-radius: 17px;
    background: #f8faff;
}

.stampyop-about-page-steps li > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    background: linear-gradient(135deg,#2f6df6,#6956ff);
}

.stampyop-about-page-steps strong {
    display: block;
    margin-top: 2px;
    color: #102044;
    font-size: 15px;
}

.stampyop-about-page-steps p {
    margin: 4px 0 0;
    color: #6a778d;
    font-size: 12px;
    line-height: 1.55;
}

.stampyop-about-page-support {
    padding: 0 0 90px;
}

.stampyop-about-page-support-card {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 38px;
    align-items: center;
    padding: 38px 42px;
    border-radius: 24px;
    color: #fff;
    background: linear-gradient(135deg,#0b1d45,#183c7d 67%,#4439b8);
    box-shadow: 0 20px 50px rgba(21,43,92,.15);
}

.stampyop-about-page-support-card h2 {
    margin: 8px 0 8px;
    color: #fff;
    font-size: clamp(30px,3.2vw,42px);
}

.stampyop-about-page-support-card p {
    max-width: 650px;
    margin: 0;
    color: #c6d2e5;
    font-size: 14px;
    line-height: 1.65;
}

.stampyop-about-page-support-actions {
    display: grid;
    grid-template-columns: repeat(2,minmax(180px,1fr));
    gap: 10px;
}

.stampyop-about-support-link {
    display: flex;
    gap: 11px;
    align-items: center;
    min-width: 190px;
    min-height: 68px;
    padding: 12px 15px;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 16px;
    color: #fff;
    text-decoration: none;
    transition: transform .18s ease,filter .18s ease;
}

.stampyop-about-support-link:hover {
    color: #fff;
    transform: translateY(-1px);
    filter: brightness(1.04);
}

.stampyop-about-support-link > span {
    display: grid;
    place-items: center;
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 12px;
    background: rgba(255,255,255,.12);
    font-weight: 900;
}

.stampyop-about-support-link strong,
.stampyop-about-support-link small {
    display: block;
}

.stampyop-about-support-link strong { font-size: 14px; }
.stampyop-about-support-link small { margin-top: 2px; color: rgba(255,255,255,.78); font-size: 10px; }
.stampyop-about-support-whatsapp { background: #1dbf73; }
.stampyop-about-support-discord { background: #5b60f3; }

@media (max-width: 1024px) {
    .stampyop-about-page-hero-card { grid-template-columns: 1fr 1fr; gap: 28px; padding: 40px; }
    .stampyop-about-page-value-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .stampyop-about-page-process-card { gap: 30px; padding: 36px; }
    .stampyop-about-page-support-card { grid-template-columns: 1fr; }
    .stampyop-about-page-support-actions { max-width: 520px; }
}

@media (max-width: 768px) {
    .stampyop-about-page-hero { padding: 22px 0 16px; }
    .stampyop-about-page .stampyop-shell { width: min(100% - 24px,1180px); }
    .stampyop-about-page-hero-card {
        grid-template-columns: 1fr;
        gap: 22px;
        min-height: 0;
        padding: 28px 22px;
        border-radius: 22px;
    }
    .stampyop-about-page-hero-copy h1 { margin-top: 10px; font-size: 42px; }
    .stampyop-about-page-hero-copy > p { font-size: 13px; line-height: 1.62; }
    .stampyop-about-page-actions { gap: 8px; margin-top: 20px; }
    .stampyop-about-page-actions .stampyop-button { flex: 1 1 0; min-height: 43px; padding: 0 12px; font-size: 11px; }
    .stampyop-about-page-hero-panel { min-height: 0; padding: 22px; border-radius: 19px; }
    .stampyop-about-page-hero-mark { width: 42px; height: 42px; margin-bottom: 18px; }
    .stampyop-about-page-hero-panel-copy strong { font-size: 24px; }
    .stampyop-about-page-mini-stats { gap: 6px; margin-top: 18px; }
    .stampyop-about-page-mini-stats > div { padding: 11px 9px; }
    .stampyop-about-page-mini-stats strong { font-size: 15px; }
    .stampyop-about-page-mini-stats span { font-size: 8px; }

    .stampyop-about-page-values { padding: 38px 0 44px; }
    .stampyop-about-page-section-head { margin-bottom: 20px; }
    .stampyop-about-page-section-head h2 { font-size: 32px; }
    .stampyop-about-page-section-head > p { font-size: 13px; }
    .stampyop-about-page-value-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    .stampyop-about-page-value-card { min-height: 0; padding: 18px; border-radius: 17px; }
    .stampyop-about-page-value-icon { width: 36px; height: 36px; border-radius: 11px; }
    .stampyop-about-page-value-card h3 { margin: 18px 0 6px; font-size: 15px; }
    .stampyop-about-page-value-card p { font-size: 11px; line-height: 1.55; }

    .stampyop-about-page-process { padding-bottom: 44px; }
    .stampyop-about-page-process-card { grid-template-columns: 1fr; gap: 24px; padding: 25px 20px; border-radius: 21px; }
    .stampyop-about-page-process-copy h2 { font-size: 31px; }
    .stampyop-about-page-process-copy > p { font-size: 12px; }
    .stampyop-about-page-steps li { grid-template-columns: 42px minmax(0,1fr); gap: 10px; padding: 14px; border-radius: 15px; }
    .stampyop-about-page-steps li > span { width: 36px; height: 36px; border-radius: 10px; }
    .stampyop-about-page-steps strong { font-size: 13px; }
    .stampyop-about-page-steps p { font-size: 10.5px; }

    .stampyop-about-page-support { padding-bottom: 58px; }
    .stampyop-about-page-support-card { gap: 22px; padding: 27px 21px; border-radius: 21px; }
    .stampyop-about-page-support-card h2 { font-size: 30px; }
    .stampyop-about-page-support-card p { font-size: 12px; }
    .stampyop-about-page-support-actions { grid-template-columns: 1fr 1fr; gap: 8px; }
    .stampyop-about-support-link { min-width: 0; min-height: 62px; padding: 10px; }
    .stampyop-about-support-link > span { width: 34px; height: 34px; flex-basis: 34px; }
    .stampyop-about-support-link strong { font-size: 12px; }
    .stampyop-about-support-link small { font-size: 8.5px; }
}

@media (max-width: 430px) {
    .stampyop-about-page-hero-copy h1 { font-size: 37px; }
    .stampyop-about-page-actions { display: grid; grid-template-columns: 1fr; }
    .stampyop-about-page-mini-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .stampyop-about-page-value-grid { grid-template-columns: 1fr 1fr; }
    .stampyop-about-page-value-card { padding: 16px 14px; }
    .stampyop-about-page-support-actions { grid-template-columns: 1fr; }
}

/* ========================================================================== 
   v2.5.33 — floating WhatsApp / Discord support launcher
   ========================================================================== */
.stampyop-support-widget {
    position: fixed;
    right: 20px;
    bottom: calc(20px + env(safe-area-inset-bottom, 0px));
    z-index: 10020;
    font-family: inherit;
}

.stampyop-support-toggle {
    position: relative;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 50%;
    background: linear-gradient(135deg,#2f6df6 0%,#6650f4 100%);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 16px 34px rgba(39,73,185,.33);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
    -webkit-tap-highlight-color: transparent;
}

.stampyop-support-toggle:hover,
.stampyop-support-toggle:focus-visible,
.stampyop-support-widget.is-open .stampyop-support-toggle {
    color: #fff;
    transform: translateY(-2px);
    filter: brightness(1.03);
    box-shadow: 0 20px 38px rgba(39,73,185,.4);
}

.stampyop-support-toggle svg {
    width: 26px;
    height: 26px;
}

.stampyop-support-toggle-dot {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 13px;
    height: 13px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #23c875;
    box-shadow: 0 2px 7px rgba(12,112,66,.28);
}

.stampyop-support-popover {
    position: absolute;
    right: 0;
    bottom: 72px;
    width: min(340px,calc(100vw - 32px));
    padding: 14px;
    border: 1px solid #dfe6f2;
    border-radius: 20px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 24px 60px rgba(15,27,60,.18);
    backdrop-filter: blur(18px) saturate(1.08);
    transform-origin: bottom right;
    animation: stampyopSupportIn .16s ease-out;
}

.stampyop-support-popover[hidden] { display: none !important; }

@keyframes stampyopSupportIn {
    from { opacity: 0; transform: translateY(8px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.stampyop-support-popover-head {
    display: grid;
    grid-template-columns: minmax(0,1fr) 34px;
    gap: 10px;
    align-items: start;
    padding: 5px 4px 12px;
}

.stampyop-support-eyebrow {
    display: block;
    margin-bottom: 5px;
    color: #4b67d8;
    font-size: 9px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .13em;
}

.stampyop-support-popover-head strong {
    display: block;
    color: #0c1a38;
    font-size: 20px;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.stampyop-support-popover-head small {
    display: block;
    margin-top: 5px;
    color: #6a778d;
    font-size: 11px;
    line-height: 1.45;
}

.stampyop-support-close {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 1px solid #e0e7f1;
    border-radius: 10px;
    background: #f6f8fc;
    color: #647188;
    font-size: 21px;
    line-height: 1;
    cursor: pointer;
}

.stampyop-support-close:hover,
.stampyop-support-close:focus-visible {
    background: #edf2fb;
    color: #14254a;
}

.stampyop-support-channel-list {
    display: grid;
    gap: 9px;
}

.stampyop-support-channel {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr) 22px;
    gap: 11px;
    align-items: center;
    min-height: 66px;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 15px;
    color: #fff !important;
    text-decoration: none !important;
    transition: transform .16s ease, filter .16s ease, box-shadow .16s ease;
}

.stampyop-support-channel:hover,
.stampyop-support-channel:focus-visible {
    color: #fff !important;
    transform: translateY(-1px);
    filter: brightness(1.035);
    box-shadow: 0 10px 22px rgba(21,35,72,.12);
}

.stampyop-support-channel-whatsapp { background: linear-gradient(135deg,#15ad67,#28ca7c); }
.stampyop-support-channel-discord { background: linear-gradient(135deg,#5865f2,#7058f6); }
.stampyop-support-channel-email { background: linear-gradient(135deg,#1f4f8f,#2f6fc8); }

.stampyop-support-channel-icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 12px;
    background: rgba(255,255,255,.13);
    font-size: 15px;
    font-weight: 900;
}

.stampyop-support-channel strong,
.stampyop-support-channel small { display: block; }
.stampyop-support-channel strong { font-size: 14px; line-height: 1.15; }
.stampyop-support-channel small { margin-top: 3px; color: rgba(255,255,255,.82); font-size: 9.5px; line-height: 1.25; }
.stampyop-support-channel-arrow { color: rgba(255,255,255,.82); font-size: 16px; font-weight: 800; text-align: center; }

.stampyop-support-popover-note {
    margin: 11px 3px 1px;
    color: #778397;
    font-size: 9.5px;
    line-height: 1.45;
}

@media (max-width: 768px) {
    .stampyop-support-widget {
        right: 16px;
        bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    }

    /* When the existing mobile cart shortcut is visible, lift support above it. */
    .stampyop-floating-cart:not(.is-empty) ~ .stampyop-support-widget {
        bottom: calc(82px + env(safe-area-inset-bottom, 0px));
    }

    .stampyop-support-toggle {
        width: 54px;
        height: 54px;
    }
    .stampyop-support-toggle svg { width: 24px; height: 24px; }
    .stampyop-support-popover {
        right: 0;
        bottom: 66px;
        width: min(330px,calc(100vw - 28px));
        padding: 13px;
        border-radius: 18px;
    }
    .stampyop-support-popover-head strong { font-size: 19px; }
    .stampyop-support-channel { min-height: 62px; }
}

@media (prefers-reduced-motion: reduce) {
    .stampyop-support-popover { animation: none; }
    .stampyop-support-toggle,
    .stampyop-support-channel { transition: none; }
}

/* ========================================================================== 
   v2.5.36 — single Blog article reading experience
   ========================================================================== */
.stampyop-article-page {
    background: #f4f7fc;
    color: #0d1b3b;
}

.stampyop-article-page .stampyop-shell {
    width: min(1180px, calc(100% - 40px));
}

.stampyop-article-hero {
    padding: 42px 0 22px;
}

.stampyop-article-back {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    margin-bottom: 18px;
    color: #61708a;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.stampyop-article-back:hover { color: #315ff4; }

.stampyop-article-hero-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(240px, .45fr);
    gap: 42px;
    align-items: center;
    overflow: hidden;
    padding: 54px 58px;
    border: 1px solid rgba(89,105,224,.18);
    border-radius: 28px;
    background:
        radial-gradient(circle at 88% 15%, rgba(104,85,247,.32), transparent 29%),
        linear-gradient(135deg, #0c214c 0%, #143673 53%, #4037a5 100%);
    box-shadow: 0 26px 60px rgba(20,41,88,.16);
}

.stampyop-article-hero-card::after {
    content: "";
    position: absolute;
    width: 330px;
    height: 330px;
    right: -125px;
    bottom: -190px;
    border: 48px solid rgba(255,255,255,.055);
    border-radius: 50%;
    pointer-events: none;
}

.stampyop-article-hero-copy { position: relative; z-index: 1; }

.stampyop-article-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 14px;
    align-items: center;
    margin-bottom: 17px;
    color: rgba(255,255,255,.7);
    font-size: 10px;
    font-weight: 700;
}

.stampyop-article-category {
    display: inline-flex;
    min-height: 25px;
    align-items: center;
    padding: 0 10px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .03em;
}

.stampyop-article-hero h1 {
    max-width: 820px;
    margin: 0;
    color: #fff;
    font-size: clamp(42px, 5vw, 68px);
    line-height: .99;
    letter-spacing: -.052em;
}

.stampyop-article-intro {
    max-width: 720px;
    margin: 22px 0 0;
    color: rgba(255,255,255,.78);
    font-size: 16px;
    line-height: 1.7;
}

.stampyop-article-hero-mark {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 190px;
    flex-direction: column;
    justify-content: flex-end;
    padding: 28px;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 22px;
    background: rgba(255,255,255,.095);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
    backdrop-filter: blur(9px);
}

.stampyop-article-hero-mark span {
    color: rgba(255,255,255,.65);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.stampyop-article-hero-mark strong {
    margin-top: 3px;
    color: #fff;
    font-size: 34px;
    line-height: 1;
    letter-spacing: -.04em;
}

.stampyop-article-hero-mark i {
    position: absolute;
    top: 24px;
    right: 28px;
    color: rgba(255,255,255,.3);
    font-size: 42px;
    font-style: normal;
}

.stampyop-article-featured-shell { margin-top: 8px; }

.stampyop-article-featured {
    overflow: hidden;
    margin: 0;
    border: 1px solid #dfe6f2;
    border-radius: 24px;
    background: #e9eef7;
    box-shadow: 0 20px 48px rgba(25,43,79,.12);
}

.stampyop-article-featured img {
    display: block;
    width: 100%;
    max-height: 620px;
    object-fit: cover;
}

.stampyop-article-main { padding: 42px 0 26px; }

.stampyop-article-layout {
    display: grid;
    grid-template-columns: minmax(0, 820px) minmax(230px, 280px);
    gap: 34px;
    justify-content: center;
    align-items: start;
}

.stampyop-article-content-card {
    min-width: 0;
    padding: 48px 54px;
    border: 1px solid #e0e7f1;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(27,44,78,.07);
}

.stampyop-article-content {
    color: #34435e;
    font-size: 16px;
    line-height: 1.82;
}

.stampyop-article-content > *:first-child { margin-top: 0; }
.stampyop-article-content > *:last-child { margin-bottom: 0; }

.stampyop-article-content h2,
.stampyop-article-content h3,
.stampyop-article-content h4 {
    color: #0b1a39;
    line-height: 1.2;
    letter-spacing: -.028em;
}

.stampyop-article-content h2 { margin-top: 42px; font-size: 30px; }
.stampyop-article-content h3 { margin-top: 34px; font-size: 23px; }
.stampyop-article-content h4 { margin-top: 28px; font-size: 18px; }

.stampyop-article-content p,
.stampyop-article-content ul,
.stampyop-article-content ol { margin-bottom: 20px; }

.stampyop-article-content ul,
.stampyop-article-content ol { padding-left: 1.3em; }

.stampyop-article-content li { margin-bottom: 7px; }

.stampyop-article-content a {
    color: #315ff4;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.stampyop-article-content blockquote {
    margin: 30px 0;
    padding: 20px 24px;
    border-left: 4px solid #5863f4;
    border-radius: 0 15px 15px 0;
    background: #f5f7ff;
    color: #243759;
}

.stampyop-article-content img {
    border-radius: 16px;
}

.stampyop-article-content table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid #e1e7f0;
    border-radius: 14px;
}

.stampyop-article-content th,
.stampyop-article-content td {
    padding: 11px 13px;
    border-bottom: 1px solid #e7ecf3;
    text-align: left;
}

.stampyop-article-content tr:last-child td { border-bottom: 0; }

.stampyop-article-aside {
    position: sticky;
    top: 108px;
}

.stampyop-article-aside-card {
    padding: 24px;
    border: 1px solid #dfe6f2;
    border-radius: 20px;
    background: linear-gradient(180deg,#ffffff 0%,#f4f6ff 100%);
    box-shadow: 0 16px 36px rgba(30,47,82,.07);
}

.stampyop-article-aside-card h2 {
    margin: 10px 0 8px;
    color: #0c1b3b;
    font-size: 24px;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.stampyop-article-aside-card p {
    margin: 0 0 18px;
    color: #67758c;
    font-size: 12px;
    line-height: 1.6;
}

.stampyop-article-aside-card .stampyop-button {
    width: 100%;
    justify-content: center;
}

.stampyop-article-support-link {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    margin-top: 13px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #3e5be0;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

.stampyop-article-end { padding: 8px 0 28px; }

.stampyop-article-end-card {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 30px;
    align-items: center;
    padding: 30px 34px;
    border: 1px solid rgba(72,92,208,.18);
    border-radius: 22px;
    background: linear-gradient(135deg,#0c214b,#223b88 62%,#5140c4);
    box-shadow: 0 20px 46px rgba(23,42,89,.13);
}

.stampyop-article-end-card .stampyop-kicker { color: #8db1ff; }

.stampyop-article-end-card h2 {
    margin: 8px 0 5px;
    color: #fff;
    font-size: 30px;
    letter-spacing: -.035em;
}

.stampyop-article-end-card p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 12px;
}

.stampyop-article-end-actions {
    display: flex;
    gap: 10px;
    align-items: center;
}

.stampyop-article-end-actions .stampyop-button-secondary {
    border-color: rgba(255,255,255,.28);
    background: rgba(255,255,255,.08);
    color: #fff;
}

.stampyop-article-related { padding: 24px 0 74px; }

.stampyop-article-related-head {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: end;
    margin-bottom: 20px;
}

.stampyop-article-related-head h2 {
    margin: 7px 0 0;
    color: #0c1b3b;
    font-size: 34px;
    letter-spacing: -.04em;
}

.stampyop-article-related-head > a {
    color: #365cf0;
    font-size: 11px;
    font-weight: 900;
    text-decoration: none;
}

.stampyop-article-related-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 16px;
}

.stampyop-article-related-card {
    overflow: hidden;
    border: 1px solid #dfe6f2;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(27,44,78,.06);
}

.stampyop-article-related-media {
    display: block;
    height: 165px;
    overflow: hidden;
    background: linear-gradient(135deg,#17336a,#5d51ef);
    text-decoration: none;
}

.stampyop-article-related-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .22s ease;
}

.stampyop-article-related-card:hover .stampyop-article-related-media img { transform: scale(1.025); }

.stampyop-article-related-media > span {
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: flex-end;
    padding: 20px;
    color: #fff;
}

.stampyop-article-related-media small { font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.stampyop-article-related-media strong { font-size: 26px; letter-spacing: -.04em; }

.stampyop-article-related-card > div { padding: 17px 18px 19px; }
.stampyop-article-related-card time { color: #8490a3; font-size: 9px; font-weight: 700; }
.stampyop-article-related-card h3 { margin: 8px 0 14px; font-size: 18px; line-height: 1.24; }
.stampyop-article-related-card h3 a { color: #12213f; text-decoration: none; }
.stampyop-article-related-card h3 a:hover { color: #315ff4; }
.stampyop-article-related-read { color: #315ff4; font-size: 10px; font-weight: 900; text-decoration: none; }

@media (max-width: 1024px) {
    .stampyop-article-hero-card { grid-template-columns: minmax(0,1fr) 230px; padding: 44px; }
    .stampyop-article-layout { grid-template-columns: minmax(0,1fr) 240px; gap: 24px; }
    .stampyop-article-content-card { padding: 40px; }
}

@media (max-width: 820px) {
    .stampyop-article-page .stampyop-shell { width: min(100% - 24px,1180px); }
    .stampyop-article-hero { padding: 24px 0 15px; }
    .stampyop-article-back { margin-bottom: 12px; }
    .stampyop-article-hero-card { grid-template-columns: 1fr; gap: 22px; padding: 30px 24px; border-radius: 22px; }
    .stampyop-article-hero h1 { font-size: clamp(36px,10vw,52px); }
    .stampyop-article-intro { margin-top: 16px; font-size: 13px; }
    .stampyop-article-hero-mark { min-height: 120px; padding: 20px; }
    .stampyop-article-hero-mark strong { font-size: 28px; }
    .stampyop-article-featured { border-radius: 19px; }
    .stampyop-article-main { padding: 24px 0 18px; }
    .stampyop-article-layout { grid-template-columns: 1fr; }
    .stampyop-article-content-card { padding: 28px 22px; border-radius: 20px; }
    .stampyop-article-content { font-size: 14px; line-height: 1.75; }
    .stampyop-article-content h2 { margin-top: 34px; font-size: 26px; }
    .stampyop-article-content h3 { margin-top: 28px; font-size: 21px; }
    .stampyop-article-aside { position: static; }
    .stampyop-article-aside-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px 18px; align-items: center; }
    .stampyop-article-aside-card .stampyop-kicker,
    .stampyop-article-aside-card h2,
    .stampyop-article-aside-card p { grid-column: 1; }
    .stampyop-article-aside-card .stampyop-button { grid-column: 2; grid-row: 1 / span 3; width: auto; }
    .stampyop-article-support-link { grid-column: 1 / -1; }
    .stampyop-article-end-card { grid-template-columns: 1fr; gap: 18px; padding: 25px 22px; }
    .stampyop-article-end-card h2 { font-size: 27px; }
    .stampyop-article-related { padding: 18px 0 58px; }
    .stampyop-article-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .stampyop-article-related-card:last-child:nth-child(odd) { display: none; }
}

@media (max-width: 560px) {
    .stampyop-article-meta-row { gap: 7px 10px; font-size: 9px; }
    .stampyop-article-hero h1 { font-size: 38px; }
    .stampyop-article-featured img { max-height: 340px; }
    .stampyop-article-aside-card { display: block; padding: 20px; }
    .stampyop-article-aside-card .stampyop-button { width: 100%; }
    .stampyop-article-end-actions { display: grid; grid-template-columns: 1fr; }
    .stampyop-article-end-actions .stampyop-button { width: 100%; justify-content: center; }
    .stampyop-article-related-head { align-items: start; }
    .stampyop-article-related-head h2 { font-size: 29px; }
    .stampyop-article-related-head > a { margin-top: 10px; }
    .stampyop-article-related-grid { grid-template-columns: 1fr; }
    .stampyop-article-related-card:last-child:nth-child(odd) { display: block; }
    .stampyop-article-related-media { height: 180px; }
}


/* ==========================================================================
   v2.5.37 — calmer article hero + integrated featured image
   ========================================================================== */
.stampyop-article-hero-card {
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
    gap: 34px;
    padding: 46px 48px;
}

.stampyop-article-hero h1 {
    max-width: 720px;
    font-size: clamp(36px, 4.15vw, 54px);
    line-height: 1.04;
    letter-spacing: -.045em;
}

.stampyop-article-hero-media {
    position: relative;
    z-index: 1;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 4 / 3;
    margin: 0;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 20px;
    background: rgba(255,255,255,.08);
    box-shadow: 0 18px 34px rgba(3,13,39,.2);
}

.stampyop-article-hero-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* v2.5.37 no longer renders a second, oversized full-width featured image. */
.stampyop-article-main { padding-top: 30px; }

@media (max-width: 1024px) {
    .stampyop-article-hero-card {
        grid-template-columns: minmax(0,1.15fr) minmax(260px,.85fr);
        gap: 26px;
        padding: 38px;
    }
    .stampyop-article-hero h1 { font-size: clamp(34px,4.8vw,46px); }
}

@media (max-width: 820px) {
    .stampyop-article-hero-card {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 28px 22px;
    }
    .stampyop-article-hero h1 {
        max-width: none;
        font-size: clamp(32px,8.7vw,42px);
        line-height: 1.05;
    }
    .stampyop-article-hero-media {
        aspect-ratio: 16 / 9;
        border-radius: 16px;
    }
    .stampyop-article-main { padding-top: 20px; }
}

@media (max-width: 560px) {
    .stampyop-article-hero h1 { font-size: 32px; }
    .stampyop-article-hero-media { aspect-ratio: 16 / 10; }
}


/* =========================================================
   v2.5.38 - legal/policy pages
   Remove the inherited legacy blog sidebar and present policy
   content as a clean, readable storefront page.
   ========================================================= */
body.stampyop-store-theme.stampyop-legal-page .site-content {
    display: block;
    width: min(1180px, calc(100% - 40px));
    max-width: none;
    margin-inline: auto;
    padding: 56px 0 72px;
}

body.stampyop-store-theme.stampyop-legal-page #primary,
body.stampyop-store-theme.stampyop-legal-page .content-area {
    float: none;
    width: 100% !important;
    max-width: none;
}

body.stampyop-store-theme.stampyop-legal-page #right-sidebar,
body.stampyop-store-theme.stampyop-legal-page #left-sidebar,
body.stampyop-store-theme.stampyop-legal-page .widget-area,
body.stampyop-store-theme.stampyop-legal-page .sidebar {
    display: none !important;
}

body.stampyop-store-theme.stampyop-legal-page .site-main {
    margin: 0 !important;
}

body.stampyop-store-theme.stampyop-legal-page .inside-article {
    max-width: 900px;
    margin: 0 auto;
    padding: 48px 52px;
    border: 1px solid var(--st-border);
    border-radius: 24px;
    background: var(--st-white);
    box-shadow: var(--st-shadow);
}

body.stampyop-store-theme.stampyop-legal-page .entry-header {
    margin-bottom: 28px;
}

body.stampyop-store-theme.stampyop-legal-page .entry-title {
    margin: 0;
    color: var(--st-navy);
    font-size: clamp(34px, 5vw, 50px);
    line-height: 1.08;
    letter-spacing: -0.035em;
}

body.stampyop-store-theme.stampyop-legal-page .entry-content {
    color: var(--st-text);
    font-size: 16px;
    line-height: 1.8;
}

body.stampyop-store-theme.stampyop-legal-page .entry-content > :first-child {
    margin-top: 0;
}

body.stampyop-store-theme.stampyop-legal-page .entry-content h2,
body.stampyop-store-theme.stampyop-legal-page .entry-content h3 {
    color: var(--st-navy);
    line-height: 1.25;
}

body.stampyop-store-theme.stampyop-legal-page .entry-content h2 {
    margin-top: 36px;
    margin-bottom: 12px;
    font-size: 24px;
}

body.stampyop-store-theme.stampyop-legal-page .entry-content h3 {
    margin-top: 28px;
    margin-bottom: 10px;
    font-size: 19px;
}

body.stampyop-store-theme.stampyop-legal-page .entry-content p,
body.stampyop-store-theme.stampyop-legal-page .entry-content ul,
body.stampyop-store-theme.stampyop-legal-page .entry-content ol {
    margin-bottom: 18px;
}

body.stampyop-store-theme.stampyop-legal-page .entry-content ul,
body.stampyop-store-theme.stampyop-legal-page .entry-content ol {
    padding-left: 1.35em;
}

body.stampyop-store-theme.stampyop-legal-page .entry-content a {
    color: var(--st-primary);
    text-underline-offset: 3px;
}

@media (max-width: 720px) {
    body.stampyop-store-theme.stampyop-legal-page .site-content {
        width: min(100% - 24px, 1180px);
        padding: 28px 0 48px;
    }

    body.stampyop-store-theme.stampyop-legal-page .inside-article {
        padding: 28px 20px;
        border-radius: 18px;
    }

    body.stampyop-store-theme.stampyop-legal-page .entry-header {
        margin-bottom: 22px;
    }

    body.stampyop-store-theme.stampyop-legal-page .entry-title {
        font-size: clamp(30px, 10vw, 40px);
    }

    body.stampyop-store-theme.stampyop-legal-page .entry-content {
        font-size: 15px;
        line-height: 1.75;
    }

    body.stampyop-store-theme.stampyop-legal-page .entry-content h2 {
        margin-top: 30px;
        font-size: 22px;
    }
}

/* ==========================================================================
   v2.5.43 — plain Product Details + larger homepage artwork
   Product Details now use the theme's original plain text presentation.
   Automatic fact cards, checklist styling and warning callouts are disabled.
   Homepage product artwork enlargement from v2.5.42 is retained.
   ========================================================================== */
body.home.stampyop-store-theme .stampyop-home-products .product img {
    width: 100% !important;
    height: 178px !important;
    object-fit: contain !important;
    padding: 7px !important;
    margin-bottom: 12px !important;
    background: #f8fafc !important;
}

@media (max-width: 700px) {
    body.home.stampyop-store-theme .stampyop-home-products .product img {
        height: 145px !important;
        padding: 5px !important;
    }
}
@media (max-width: 360px) {
    body.home.stampyop-store-theme .stampyop-home-products .product img {
        height: 132px !important;
    }
}

/* ==========================================================================
   v2.5.44 — product purchase-page spacing + readable option labels
   Keep Product Details plain/manual. Improve only the buying controls and
   homepage product-art visibility requested after v2.5.43.
   ========================================================================== */

/* Homepage: let square branded artwork read clearly inside compact cards. */
body.home.stampyop-store-theme .stampyop-home-products .product img {
    height: 204px !important;
    padding: 6px !important;
    margin-bottom: 12px !important;
}

/* Single product: tighten the hand-off from title/context to the plan box. */
body.stampyop-store-theme.single-product .stampyop-single-context {
    margin-bottom: 10px !important;
}

/* Make Account type / Duration labels easier to scan without touching logic. */
body.stampyop-store-theme.single-product .stampyop-option-label,
body.stampyop-store-theme.single-product .stampyop-package-picker-single .stampyop-option-label {
    margin-bottom: 8px !important;
    color: #4f6079 !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    letter-spacing: .045em !important;
    line-height: 1.2 !important;
}

/* A slightly tighter picker top keeps the plan controls visually connected to
   the product name while preserving breathing room inside the card. */
body.stampyop-store-theme.single-product .stampyop-simple-picker-single,
body.stampyop-store-theme.single-product .stampyop-package-picker-single {
    padding-top: 17px !important;
}

@media (max-width: 700px) {
    body.home.stampyop-store-theme .stampyop-home-products .product img {
        height: 184px !important;
        padding: 5px !important;
    }
    body.stampyop-store-theme.single-product .stampyop-single-context {
        margin-bottom: 9px !important;
    }
    body.stampyop-store-theme.single-product .stampyop-option-label,
    body.stampyop-store-theme.single-product .stampyop-package-picker-single .stampyop-option-label {
        font-size: 12.5px !important;
    }
}

@media (max-width: 360px) {
    body.home.stampyop-store-theme .stampyop-home-products .product img {
        height: 170px !important;
    }
}

/* ========================================================================== 
   v2.5.45 — homepage option readability + balanced duration grid
   Keep single-product controls at their earlier compact styling. Make the
   smaller homepage cards easier to scan and arrange four durations as 2 x 2.
   ========================================================================== */

/* Revert the v2.5.44 single-product label enlargement. */
body.stampyop-store-theme.single-product .stampyop-option-label,
body.stampyop-store-theme.single-product .stampyop-package-picker-single .stampyop-option-label {
    margin-bottom: 7px !important;
    color: #66758d !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .07em !important;
    line-height: 1.2 !important;
}

/* Homepage only: stronger Account Type / Duration labels. */
body.home.stampyop-store-theme .stampyop-home-products .stampyop-simple-picker-card .stampyop-option-label,
body.home.stampyop-store-theme .stampyop-home-products .stampyop-package-picker-card .stampyop-option-label {
    color: #46566f !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .055em !important;
    line-height: 1.2 !important;
}

/* Homepage durations: two even columns. With four plans this gives
   1 / 3 months on row one and 6 / 12 months on row two in source order. */
body.home.stampyop-store-theme .stampyop-home-products .stampyop-duration-options {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: auto !important;
    align-items: stretch !important;
}
body.home.stampyop-store-theme .stampyop-home-products .stampyop-duration-options .stampyop-option-button {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
    text-align: center !important;
}
body.home.stampyop-store-theme .stampyop-home-products .stampyop-duration-wrap {
    min-height: 78px !important;
}

@media (max-width: 700px) {
    body.home.stampyop-store-theme .stampyop-home-products .stampyop-simple-picker-card .stampyop-option-label,
    body.home.stampyop-store-theme .stampyop-home-products .stampyop-package-picker-card .stampyop-option-label {
        font-size: 8.5px !important;
        font-weight: 900 !important;
    }
    body.home.stampyop-store-theme .stampyop-home-products .stampyop-duration-options {
        gap: 4px !important;
    }
    body.home.stampyop-store-theme .stampyop-home-products .stampyop-duration-options .stampyop-option-button {
        font-size: 8.5px !important;
        padding-left: 3px !important;
        padding-right: 3px !important;
    }
    body.home.stampyop-store-theme .stampyop-home-products .stampyop-duration-wrap {
        min-height: 72px !important;
    }
}

/* ========================================================================== 
   v2.5.46 — unified homepage/catalog cards + calmer single-product labels
   Customer-facing comparison cards now use the same visual rhythm on Home and
   Products. Option button copy is easier to read. Single-product field labels
   are intentionally quieter so they do not compete with the selected plan.
   ========================================================================== */

/* Home: make the actual choices (Shared / Personal / duration) more legible. */
body.home.stampyop-store-theme .stampyop-home-products .stampyop-option-button {
    min-height: 31px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}

/* Products archive: use the same compact card proportions as Featured Products.
   auto-fit keeps 1-3 products centered now and naturally expands to 4 columns
   as the catalogue grows. */
@media (min-width: 1025px) {
    body.stampyop-store-theme.woocommerce-shop ul.products,
    body.stampyop-store-theme.tax-product_cat ul.products,
    body.stampyop-store-theme.tax-product_tag ul.products {
        grid-template-columns: repeat(auto-fit, minmax(238px, 268px)) !important;
        justify-content: center !important;
        gap: 22px !important;
        width: 100% !important;
        max-width: 1138px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

body.stampyop-store-theme.woocommerce-shop ul.products > li.product,
body.stampyop-store-theme.tax-product_cat ul.products > li.product,
body.stampyop-store-theme.tax-product_tag ul.products > li.product {
    min-width: 0 !important;
    min-height: 452px !important;
    padding: 14px !important;
    border: 1px solid #dce5f2 !important;
    border-radius: 19px !important;
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(16,32,64,.06) !important;
}
body.stampyop-store-theme.woocommerce-shop ul.products > li.product:hover,
body.stampyop-store-theme.tax-product_cat ul.products > li.product:hover,
body.stampyop-store-theme.tax-product_tag ul.products > li.product:hover {
    border-color: #b9cdf6 !important;
    box-shadow: 0 18px 40px rgba(16,32,64,.10) !important;
}

/* Keep catalogue artwork and typography in step with the homepage cards. */
body.stampyop-store-theme.woocommerce-shop ul.products li.product a img,
body.stampyop-store-theme.tax-product_cat ul.products li.product a img,
body.stampyop-store-theme.tax-product_tag ul.products li.product a img {
    width: 100% !important;
    height: 204px !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    padding: 6px !important;
    margin-bottom: 12px !important;
    border-radius: 14px !important;
}
body.stampyop-store-theme.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.stampyop-store-theme.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.stampyop-store-theme.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
    min-height: 34px !important;
    margin-bottom: 3px !important;
    padding: 0 4px !important;
    font-size: 15.5px !important;
    line-height: 1.3 !important;
}
body.stampyop-store-theme.woocommerce-shop .stampyop-card-meta,
body.stampyop-store-theme.tax-product_cat .stampyop-card-meta,
body.stampyop-store-theme.tax-product_tag .stampyop-card-meta {
    min-height: 20px !important;
    margin-bottom: 7px !important;
    font-size: 11px !important;
}

/* Same label and choice hierarchy on Home and Products. */
body.stampyop-store-theme.woocommerce-shop .stampyop-simple-picker-card .stampyop-option-label,
body.stampyop-store-theme.woocommerce-shop .stampyop-package-picker-card .stampyop-option-label,
body.stampyop-store-theme.tax-product_cat .stampyop-simple-picker-card .stampyop-option-label,
body.stampyop-store-theme.tax-product_cat .stampyop-package-picker-card .stampyop-option-label,
body.stampyop-store-theme.tax-product_tag .stampyop-simple-picker-card .stampyop-option-label,
body.stampyop-store-theme.tax-product_tag .stampyop-package-picker-card .stampyop-option-label {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
    color: #46566f !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .055em !important;
    line-height: 1.2 !important;
}

body.stampyop-store-theme.woocommerce-shop .stampyop-option-button,
body.stampyop-store-theme.tax-product_cat .stampyop-option-button,
body.stampyop-store-theme.tax-product_tag .stampyop-option-button {
    min-height: 31px !important;
    padding: 5px 8px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}

/* Account choices: one option fills the row; two options divide it evenly. */
body.stampyop-store-theme.woocommerce-shop .stampyop-account-options,
body.stampyop-store-theme.tax-product_cat .stampyop-account-options,
body.stampyop-store-theme.tax-product_tag .stampyop-account-options {
    display: flex !important;
    gap: 6px !important;
}
body.stampyop-store-theme.woocommerce-shop .stampyop-account-options .stampyop-option-button,
body.stampyop-store-theme.tax-product_cat .stampyop-account-options .stampyop-option-button,
body.stampyop-store-theme.tax-product_tag .stampyop-account-options .stampyop-option-button {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
}

/* Durations: 1 / 3 on the first row and 6 / 12 on the second row when those
   four options exist. Three-option products naturally become a tidy 2 + 1. */
body.stampyop-store-theme.woocommerce-shop .stampyop-duration-options,
body.stampyop-store-theme.tax-product_cat .stampyop-duration-options,
body.stampyop-store-theme.tax-product_tag .stampyop-duration-options {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
    align-items: stretch !important;
}
body.stampyop-store-theme.woocommerce-shop .stampyop-duration-options .stampyop-option-button,
body.stampyop-store-theme.tax-product_cat .stampyop-duration-options .stampyop-option-button,
body.stampyop-store-theme.tax-product_tag .stampyop-duration-options .stampyop-option-button {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    text-align: center !important;
}
body.stampyop-store-theme.woocommerce-shop .stampyop-duration-wrap,
body.stampyop-store-theme.tax-product_cat .stampyop-duration-wrap,
body.stampyop-store-theme.tax-product_tag .stampyop-duration-wrap {
    min-height: 78px !important;
}

body.stampyop-store-theme.woocommerce-shop .stampyop-card-price,
body.stampyop-store-theme.tax-product_cat .stampyop-card-price,
body.stampyop-store-theme.tax-product_tag .stampyop-card-price {
    min-height: 62px !important;
    margin: auto 4px 12px !important;
    padding: 10px 12px !important;
    border-radius: 13px !important;
}
body.stampyop-store-theme.woocommerce-shop .stampyop-price-value,
body.stampyop-store-theme.tax-product_cat .stampyop-price-value,
body.stampyop-store-theme.tax-product_tag .stampyop-price-value {
    font-size: 21px !important;
}
body.stampyop-store-theme.woocommerce-shop ul.products li.product .button.stampyop-details-button,
body.stampyop-store-theme.tax-product_cat ul.products li.product .button.stampyop-details-button,
body.stampyop-store-theme.tax-product_tag ul.products li.product .button.stampyop-details-button {
    min-height: 40px !important;
    margin-top: 9px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
}

/* Single product page: labels should guide, not shout. */
body.stampyop-store-theme.single-product .stampyop-option-label,
body.stampyop-store-theme.single-product .stampyop-package-picker-single .stampyop-option-label {
    color: #66758d !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .055em !important;
}

/* Keep Home and Products visually aligned on smaller screens too. */
@media (max-width: 700px) {
    body.home.stampyop-store-theme .stampyop-home-products .stampyop-option-button,
    body.stampyop-store-theme.woocommerce-shop .stampyop-option-button,
    body.stampyop-store-theme.tax-product_cat .stampyop-option-button,
    body.stampyop-store-theme.tax-product_tag .stampyop-option-button {
        min-height: 29px !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
        font-size: 10px !important;
        font-weight: 800 !important;
    }

    body.stampyop-store-theme.woocommerce-shop .stampyop-simple-picker-card .stampyop-option-label,
    body.stampyop-store-theme.woocommerce-shop .stampyop-package-picker-card .stampyop-option-label,
    body.stampyop-store-theme.tax-product_cat .stampyop-simple-picker-card .stampyop-option-label,
    body.stampyop-store-theme.tax-product_tag .stampyop-simple-picker-card .stampyop-option-label {
        font-size: 8.5px !important;
        font-weight: 900 !important;
    }

    body.stampyop-store-theme.woocommerce-shop .stampyop-duration-options,
    body.stampyop-store-theme.tax-product_cat .stampyop-duration-options,
    body.stampyop-store-theme.tax-product_tag .stampyop-duration-options {
        gap: 4px !important;
    }
    body.stampyop-store-theme.woocommerce-shop .stampyop-duration-wrap,
    body.stampyop-store-theme.tax-product_cat .stampyop-duration-wrap,
    body.stampyop-store-theme.tax-product_tag .stampyop-duration-wrap {
        min-height: 72px !important;
    }
}

/* v2.5.47: approved site logo + stable single-product image */
body.stampyop-store-theme .site-header .site-logo a,
body.stampyop-store-theme .site-header .custom-logo-link {
    display: inline-flex !important;
    align-items: center;
    min-height: 52px;
    text-decoration: none !important;
}
body.stampyop-store-theme .site-header .site-logo img,
body.stampyop-store-theme .site-header img.custom-logo {
    display: block !important;
    width: 190px !important;
    max-width: 190px !important;
    height: auto !important;
    max-height: 63px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
}
body.stampyop-store-theme .site-header .site-logo a::after,
body.stampyop-store-theme .site-header .custom-logo-link::after {
    content: none !important;
    display: none !important;
}

/* Disable hover motion/zoom on the main image while preserving click/lightbox behavior. */
body.stampyop-store-theme.single-product .woocommerce-product-gallery,
body.stampyop-store-theme.single-product .woocommerce-product-gallery__wrapper,
body.stampyop-store-theme.single-product .woocommerce-product-gallery__image,
body.stampyop-store-theme.single-product .woocommerce-product-gallery__image > a,
body.stampyop-store-theme.single-product .woocommerce-product-gallery__image img,
body.stampyop-store-theme.single-product div.product div.images img {
    transform: none !important;
    transition: none !important;
    animation: none !important;
}
body.stampyop-store-theme.single-product .woocommerce-product-gallery__image:hover,
body.stampyop-store-theme.single-product .woocommerce-product-gallery__image > a:hover,
body.stampyop-store-theme.single-product .woocommerce-product-gallery__image img:hover,
body.stampyop-store-theme.single-product div.product div.images img:hover {
    transform: none !important;
}

@media (max-width: 768px) {
    body.stampyop-store-theme .site-header .site-logo img,
    body.stampyop-store-theme .site-header img.custom-logo {
        width: 150px !important;
        max-width: 150px !important;
        max-height: 50px !important;
    }
}



/* ========================================================================== 
   v2.5.48 — approved StampyOP logo implementation
   Use the exact final brand lockup in the desktop and dedicated mobile header.
   Legacy temporary text-wordmark rules are neutralized here.
   ========================================================================== */
body.stampyop-store-theme .site-header .site-branding,
body.stampyop-store-theme .site-header > .inside-header > .site-logo:not(.stampyop-final-site-logo) {
    display: none !important;
}
body.stampyop-store-theme .site-header .stampyop-final-site-logo {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.stampyop-store-theme .site-header .stampyop-final-site-logo .stampyop-final-logo-link {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
}
body.stampyop-store-theme .site-header .stampyop-final-site-logo .stampyop-final-logo-link::before,
body.stampyop-store-theme .site-header .stampyop-final-site-logo .stampyop-final-logo-link::after {
    content: none !important;
    display: none !important;
}
body.stampyop-store-theme .site-header .stampyop-final-site-logo img.stampyop-final-logo-image {
    display: block !important;
    width: 178px !important;
    max-width: 178px !important;
    height: auto !important;
    max-height: 59px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
}

/* The dedicated mobile header must use the same approved image, not a text fallback. */
body.stampyop-store-theme .stampyop-mobile-brand {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: 148px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-decoration: none !important;
}
body.stampyop-store-theme .stampyop-mobile-brand img.stampyop-mobile-brand-logo {
    display: block !important;
    width: 142px !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
}
@media (max-width: 390px) {
    body.stampyop-store-theme .stampyop-mobile-brand { max-width: 132px !important; }
    body.stampyop-store-theme .stampyop-mobile-brand img.stampyop-mobile-brand-logo { width: 128px !important; }
}


/* ========================================================================== 
   v2.5.49 — final header brand lockup, resilient across GeneratePress modes
   The approved StampyOP + "Service You Can Rely On." artwork is used exactly;
   only surrounding white canvas has been trimmed for a clean header fit.
   ========================================================================== */

/* Desktop: suppress legacy temporary text-brand output no matter whether
   GeneratePress is rendering Site Identity as .site-logo or .site-branding. */
body.stampyop-store-theme .site-header .site-branding .main-title,
body.stampyop-store-theme .site-header .site-branding .main-title a,
body.stampyop-store-theme .site-header .site-title,
body.stampyop-store-theme .site-header .site-title a,
body.stampyop-store-theme .site-header .site-logo a {
    font-size: 0 !important;
    line-height: 0 !important;
    letter-spacing: 0 !important;
}

/* PHP/JS-rendered final image. */
body.stampyop-store-theme .site-header .stampyop-final-logo-link,
body.stampyop-store-theme .site-header .stampyop-final-site-logo .stampyop-final-logo-link,
body.stampyop-store-theme .site-header a.custom-logo-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 205px !important;
    max-width: 205px !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    text-decoration: none !important;
}
body.stampyop-store-theme .site-header .stampyop-final-logo-link img,
body.stampyop-store-theme .site-header img.stampyop-final-logo-image,
body.stampyop-store-theme .site-header img.custom-logo {
    display: block !important;
    width: 205px !important;
    max-width: 205px !important;
    height: auto !important;
    max-height: 55px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
}
body.stampyop-store-theme .site-header .stampyop-final-logo-link::before,
body.stampyop-store-theme .site-header .stampyop-final-logo-link::after,
body.stampyop-store-theme .site-header .stampyop-final-site-logo .stampyop-final-logo-link::before,
body.stampyop-store-theme .site-header .stampyop-final-site-logo .stampyop-final-logo-link::after,
body.stampyop-store-theme .site-header a.custom-logo-link::before,
body.stampyop-store-theme .site-header a.custom-logo-link::after {
    content: none !important;
    display: none !important;
}

/* CSS-only fallback: if GeneratePress outputs only the textual site-title,
   paint the approved logo in that very same anchor until/without JavaScript. */
body.stampyop-store-theme .site-header .site-branding .main-title a:not(.stampyop-final-logo-link),
body.stampyop-store-theme .site-header .site-title a:not(.stampyop-final-logo-link),
body.stampyop-store-theme .site-header .site-logo a:not(.stampyop-final-logo-link) {
    display: inline-block !important;
    width: 205px !important;
    height: 55px !important;
    min-height: 55px !important;
    background-image: url("../images/stampyop-logo-header.png") !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    background-size: contain !important;
    color: transparent !important;
    overflow: hidden !important;
}
body.stampyop-store-theme .site-header .site-branding .main-title a:not(.stampyop-final-logo-link)::after,
body.stampyop-store-theme .site-header .site-title a:not(.stampyop-final-logo-link)::after,
body.stampyop-store-theme .site-header .site-logo a:not(.stampyop-final-logo-link)::after {
    content: none !important;
    display: none !important;
}

/* Keep the one-line desktop header balanced at laptop widths. */
@media (min-width: 861px) and (max-width: 1120px) {
    body.stampyop-store-theme .site-header .stampyop-final-logo-link,
    body.stampyop-store-theme .site-header .stampyop-final-site-logo .stampyop-final-logo-link,
    body.stampyop-store-theme .site-header a.custom-logo-link,
    body.stampyop-store-theme .site-header .site-branding .main-title a:not(.stampyop-final-logo-link),
    body.stampyop-store-theme .site-header .site-title a:not(.stampyop-final-logo-link),
    body.stampyop-store-theme .site-header .site-logo a:not(.stampyop-final-logo-link) {
        width: 172px !important;
        max-width: 172px !important;
    }
    body.stampyop-store-theme .site-header .stampyop-final-logo-link img,
    body.stampyop-store-theme .site-header img.stampyop-final-logo-image,
    body.stampyop-store-theme .site-header img.custom-logo {
        width: 172px !important;
        max-width: 172px !important;
        max-height: 48px !important;
    }
}

/* Mobile uses the same approved lockup inside the dedicated StampyOP header. */
@media (max-width: 860px) {
    body.stampyop-store-theme .stampyop-mobile-brand {
        width: 158px !important;
        max-width: 158px !important;
        height: 46px !important;
    }
    body.stampyop-store-theme .stampyop-mobile-brand img.stampyop-mobile-brand-logo {
        display: block !important;
        width: 158px !important;
        max-width: 158px !important;
        height: auto !important;
        max-height: 46px !important;
        object-fit: contain !important;
        object-position: left center !important;
    }
}
@media (max-width: 390px) {
    body.stampyop-store-theme .stampyop-mobile-brand {
        width: 142px !important;
        max-width: 142px !important;
    }
    body.stampyop-store-theme .stampyop-mobile-brand img.stampyop-mobile-brand-logo {
        width: 142px !important;
        max-width: 142px !important;
    }
}

/* ==========================================================================
   v2.5.50 — desktop navigation logo mount
   The live GeneratePress desktop layout renders its brand inside
   #site-navigation (.navigation-branding), so mount the approved StampyOP
   lockup there directly. Mobile keeps the dedicated header unchanged.
   ========================================================================== */
@media (min-width: 861px) {
    /* Remove GeneratePress' old text/navigation branding only on desktop. */
    body.stampyop-store-theme #site-navigation .navigation-branding,
    body.stampyop-store-theme #site-navigation .site-branding,
    body.stampyop-store-theme #site-navigation > .site-logo,
    body.stampyop-store-theme #site-navigation .inside-navigation > .site-logo:not(.stampyop-desktop-navigation-logo) {
        display: none !important;
    }

    /* The old header-hook logo is not the live desktop mount on this setup. */
    body.stampyop-store-theme .site-header .stampyop-final-site-logo {
        display: none !important;
    }

    body.stampyop-store-theme #site-navigation .inside-navigation {
        display: flex !important;
        align-items: center !important;
    }

    body.stampyop-store-theme #site-navigation .stampyop-desktop-navigation-logo {
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;
        margin: 0 auto 0 0 !important;
        padding: 0 !important;
    }

    body.stampyop-store-theme #site-navigation .stampyop-desktop-navigation-logo-link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 190px !important;
        max-width: 190px !important;
        height: 52px !important;
        min-height: 52px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: transparent !important;
        background: transparent !important;
        text-decoration: none !important;
        overflow: visible !important;
    }

    body.stampyop-store-theme #site-navigation img.stampyop-desktop-navigation-logo-image {
        display: block !important;
        width: 190px !important;
        max-width: 190px !important;
        height: auto !important;
        max-height: 52px !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain !important;
        object-position: left center !important;
    }

    /* Keep the navigation menu immediately after the brand without changing
       its existing spacing, cart or Contact Us behavior. */
    body.stampyop-store-theme #site-navigation .main-nav {
        flex: 0 0 auto !important;
        margin-left: 18px !important;
    }
}

@media (min-width: 861px) and (max-width: 1120px) {
    body.stampyop-store-theme #site-navigation .stampyop-desktop-navigation-logo-link,
    body.stampyop-store-theme #site-navigation img.stampyop-desktop-navigation-logo-image {
        width: 162px !important;
        max-width: 162px !important;
    }
    body.stampyop-store-theme #site-navigation .stampyop-desktop-navigation-logo-link {
        height: 46px !important;
        min-height: 46px !important;
    }
    body.stampyop-store-theme #site-navigation img.stampyop-desktop-navigation-logo-image {
        max-height: 46px !important;
    }
    body.stampyop-store-theme #site-navigation .main-nav {
        margin-left: 10px !important;
    }
}

/* ==========================================================================
   v2.5.51 — customer-first desktop header alignment
   Three clear zones: brand left, primary navigation centered, cart/contact right.
   Mobile header remains unchanged.
   ========================================================================== */
@media (min-width: 861px) {
    body.stampyop-store-theme #site-navigation {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: #fff !important;
    }

    body.stampyop-store-theme #site-navigation .inside-navigation {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: min(calc(100% - 48px), 1180px) !important;
        max-width: 1180px !important;
        min-height: 68px !important;
        height: 68px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    body.stampyop-store-theme #site-navigation .stampyop-desktop-navigation-logo {
        display: flex !important;
        align-items: center !important;
        flex: 0 0 190px !important;
        width: 190px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.stampyop-store-theme #site-navigation .stampyop-desktop-navigation-logo-link,
    body.stampyop-store-theme #site-navigation img.stampyop-desktop-navigation-logo-image {
        width: 190px !important;
        max-width: 190px !important;
    }

    body.stampyop-store-theme #site-navigation .main-nav {
        display: flex !important;
        align-items: center !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.stampyop-store-theme #site-navigation .main-nav > ul {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 2px !important;
    }

    /* The two auto margins create a visually balanced three-zone header.
       Because the logo and action cluster are almost equal in width, the six
       primary links sit in the visual center of the header rather than being
       pulled toward either edge. */
    body.stampyop-store-theme #site-navigation .main-nav > ul > li:first-child {
        margin-left: auto !important;
    }

    body.stampyop-store-theme #site-navigation .main-nav > ul > li.stampyop-cart-menu-item {
        margin-left: auto !important;
        margin-right: 10px !important;
    }

    body.stampyop-store-theme #site-navigation .main-nav > ul > li.stampyop-contact-menu-item {
        margin-left: 0 !important;
        padding-left: 0 !important;
        border-left: 0 !important;
    }

    body.stampyop-store-theme #site-navigation .main-nav > ul > li.stampyop-contact-menu-item > a.stampyop-contact-nav {
        min-width: 118px !important;
        margin: 0 !important;
    }
}

@media (min-width: 861px) and (max-width: 1120px) {
    body.stampyop-store-theme #site-navigation .inside-navigation {
        width: min(calc(100% - 30px), 1040px) !important;
    }

    body.stampyop-store-theme #site-navigation .stampyop-desktop-navigation-logo {
        flex-basis: 160px !important;
        width: 160px !important;
    }

    body.stampyop-store-theme #site-navigation .stampyop-desktop-navigation-logo-link,
    body.stampyop-store-theme #site-navigation img.stampyop-desktop-navigation-logo-image {
        width: 160px !important;
        max-width: 160px !important;
    }

    body.stampyop-store-theme #site-navigation .main-nav > ul > li > a:not(.stampyop-contact-nav):not(.stampyop-header-cart) {
        padding-left: 7px !important;
        padding-right: 7px !important;
        font-size: 12px !important;
    }

    body.stampyop-store-theme #site-navigation .main-nav > ul > li.stampyop-cart-menu-item {
        margin-right: 7px !important;
    }

    body.stampyop-store-theme #site-navigation .main-nav > ul > li.stampyop-contact-menu-item > a.stampyop-contact-nav {
        min-width: 104px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
        font-size: 12px !important;
    }
}


/* ==========================================================================
   v2.5.52 — cleaner brand lockup, breathing room above hero, support CTA toggle
   Header keeps the approved brand mark/wordmark while visually hiding the
   small motto in navigation. Homepage hero gains soft top corners and a small
   gap below the header. Purchase/product logic remains untouched.
   ========================================================================== */

/* Header logo: keep the exact approved artwork, but visually mask only the
   small motto for the compact navigation lockup. The blue S + StampyOP
   wordmark remain unchanged. */
@media (min-width: 861px) {
    body.stampyop-store-theme #site-navigation .stampyop-desktop-navigation-logo-link {
        position: relative !important;
        overflow: hidden !important;
    }

    body.stampyop-store-theme #site-navigation .stampyop-desktop-navigation-logo-link::after {
        content: "" !important;
        position: absolute !important;
        z-index: 3 !important;
        left: 24.5% !important;
        top: 73% !important;
        width: 75.5% !important;
        height: 24% !important;
        display: block !important;
        background: #fff !important;
        pointer-events: none !important;
    }
}

@media (max-width: 860px) {
    body.stampyop-store-theme .stampyop-mobile-brand {
        position: relative !important;
        overflow: hidden !important;
    }

    body.stampyop-store-theme .stampyop-mobile-brand::after {
        content: "" !important;
        position: absolute !important;
        z-index: 3 !important;
        left: 24.5% !important;
        top: 73% !important;
        width: 75.5% !important;
        height: 24% !important;
        display: block !important;
        background: #fff !important;
        pointer-events: none !important;
    }
}

/* Homepage hero: separate it from the header and soften the two top corners.
   Keep the bottom edge square so it still flows naturally into the trust row. */
body.home.stampyop-store-theme .stampyop-home {
    padding-top: 16px !important;
}

body.home.stampyop-store-theme .stampyop-hero {
    width: min(calc(100% - 48px), 1270px) !important;
    margin: 0 auto !important;
    border-radius: 24px 24px 0 0 !important;
    overflow: hidden !important;
}

@media (max-width: 860px) {
    body.home.stampyop-store-theme .stampyop-home {
        padding-top: 10px !important;
    }

    body.home.stampyop-store-theme .stampyop-hero {
        width: calc(100% - 20px) !important;
        border-radius: 18px 18px 0 0 !important;
    }
}

/* ==========================================================================
   v2.5.54 — unified homepage section-heading typography
   ========================================================================== */

/* Use the final support CTA heading as the visual reference for all major
   homepage content headings. Layouts and colours stay section-specific; only
   typography is unified so the page reads as one coherent design system. */
body.home.stampyop-store-theme .stampyop-about-section .stampyop-about-copy h2,
body.home.stampyop-store-theme .stampyop-reviews-section .stampyop-section-heading h2,
body.home.stampyop-store-theme .stampyop-blog-section .stampyop-section-heading h2,
body.home.stampyop-store-theme .stampyop-faq-section .stampyop-section-heading h2,
body.home.stampyop-store-theme .stampyop-contact-box h2 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    font-family: inherit !important;
    font-size: clamp(34px, 4vw, 50px) !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
    letter-spacing: -0.045em !important;
}

/* Preserve the intended colour of each dark/light section. */
body.home.stampyop-store-theme .stampyop-about-section .stampyop-about-copy h2 {
    color: var(--st-navy) !important;
}
body.home.stampyop-store-theme .stampyop-reviews-section .stampyop-section-heading h2,
body.home.stampyop-store-theme .stampyop-blog-section .stampyop-section-heading h2,
body.home.stampyop-store-theme .stampyop-faq-section .stampyop-section-heading h2,
body.home.stampyop-store-theme .stampyop-contact-box h2 {
    color: #fff !important;
}

@media (max-width: 768px) {
    body.home.stampyop-store-theme .stampyop-about-section .stampyop-about-copy h2,
    body.home.stampyop-store-theme .stampyop-reviews-section .stampyop-section-heading h2,
    body.home.stampyop-store-theme .stampyop-blog-section .stampyop-section-heading h2,
    body.home.stampyop-store-theme .stampyop-faq-section .stampyop-section-heading h2,
    body.home.stampyop-store-theme .stampyop-contact-box h2 {
        font-size: clamp(30px, 8vw, 36px) !important;
        line-height: 1.08 !important;
        font-weight: 700 !important;
        letter-spacing: -0.04em !important;
    }
}

/* ==========================================================================
   v2.5.55 — final unified homepage heading system
   ========================================================================== */

/* The support CTA heading is the master reference. These five homepage
   headings share the same typography; section layout remains unchanged. */
body.home.stampyop-store-theme .stampyop-about-section .stampyop-about-copy h2,
body.home.stampyop-store-theme .stampyop-reviews-section .stampyop-section-heading h2,
body.home.stampyop-store-theme .stampyop-blog-section .stampyop-section-heading h2,
body.home.stampyop-store-theme .stampyop-faq-section .stampyop-section-heading h2,
body.home.stampyop-store-theme .stampyop-contact-box h2 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    font-family: inherit !important;
    font-size: clamp(34px, 4vw, 50px) !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
    letter-spacing: -0.045em !important;
    color: #fff !important;
}

@media (max-width: 768px) {
    body.home.stampyop-store-theme .stampyop-about-section .stampyop-about-copy h2,
    body.home.stampyop-store-theme .stampyop-reviews-section .stampyop-section-heading h2,
    body.home.stampyop-store-theme .stampyop-blog-section .stampyop-section-heading h2,
    body.home.stampyop-store-theme .stampyop-faq-section .stampyop-section-heading h2,
    body.home.stampyop-store-theme .stampyop-contact-box h2 {
        font-size: clamp(30px, 8vw, 36px) !important;
        line-height: 1.08 !important;
        font-weight: 700 !important;
        letter-spacing: -0.04em !important;
        color: #fff !important;
    }
}

/* ========================================================================== 
   v2.5.59 — keep the floating support launcher clear of the footer
   ========================================================================== */
.stampyop-support-widget {
    --stampyop-support-footer-lift: 0px;
    bottom: calc(20px + env(safe-area-inset-bottom, 0px) + var(--stampyop-support-footer-lift));
}

@media (max-width: 768px) {
    .stampyop-support-widget {
        bottom: calc(18px + env(safe-area-inset-bottom, 0px) + var(--stampyop-support-footer-lift));
    }

    .stampyop-floating-cart:not(.is-empty) ~ .stampyop-support-widget {
        bottom: calc(82px + env(safe-area-inset-bottom, 0px) + var(--stampyop-support-footer-lift));
    }
}

/* ========================================================================== 
   v2.5.61 — duration-order + empty-cart recommendation polish
   ========================================================================== */

/* Keep the four default WooCommerce empty-cart recommendations in one balanced
   row on desktop instead of leaving the fourth card orphaned on a second row. */
@media (min-width: 981px) {
    body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wc-block-grid__products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wp-block-woocommerce-product-collection .wc-block-product-template,
    body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wp-block-woocommerce-product-new .wc-block-product-template {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}

/* At tablet widths, keep recommendations readable in a balanced 2 x 2 grid. */
@media (min-width: 761px) and (max-width: 980px) {
    body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wc-block-grid__products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wp-block-woocommerce-product-collection .wc-block-product-template,
    body.stampyop-store-theme.woocommerce-cart.stampyop-cart-empty-ui .wp-block-woocommerce-product-new .wc-block-product-template {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* ========================================================================== 
   v2.5.62 — checkout choice cleanup
   ========================================================================== */

/* Coupon codes are not part of the current StampyOP checkout flow. The PHP
   hook removes the classic form; these selectors are a defensive fallback. */
body.stampyop-store-theme.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.stampyop-store-theme.woocommerce-checkout form.checkout_coupon {
    display: none !important;
}

/* When no payment method has been intentionally selected, no gateway detail
   box should appear to imply a default choice. */
body.stampyop-store-theme.woocommerce-checkout #payment:not(:has(input[name="payment_method"]:checked)) .payment_box {
    display: none !important;
}

/* ========================================================================== 
   v2.5.68 — consolidated mobile polish
   Scope: mobile menu consistency, live-search readability, article overflow
   hardening, and fuller-width Checkout / Order Received / Products layouts.
   Customer flows and WooCommerce logic are unchanged.
   ========================================================================== */

/* Live search: keep product identity left and a calm, aligned price stack right. */
.stampyop-search-price {
    display: flex;
    min-width: 82px;
    flex-direction: column;
    align-items: flex-end;
    gap: 1px;
    text-align: right;
    white-space: nowrap;
}
.stampyop-search-price small {
    color: #7b8799;
    font-size: 9px;
    line-height: 1.1;
    font-weight: 750;
    letter-spacing: .045em;
    text-transform: uppercase;
}
.stampyop-search-price strong {
    color: var(--st-primary);
    font-size: 15px;
    line-height: 1.15;
    font-weight: 850;
}
.stampyop-search-meta {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

@media (max-width: 860px) {
    /* Every ordinary drawer item uses exactly the same visual state. Current
       page styling must not create a second shade on Home or any other page. */
    .stampyop-mobile-nav li:not(.stampyop-contact-menu-item) > a,
    .stampyop-mobile-nav li:not(.stampyop-contact-menu-item) > a:link,
    .stampyop-mobile-nav li:not(.stampyop-contact-menu-item) > a:visited,
    .stampyop-mobile-nav li:not(.stampyop-contact-menu-item).current-menu-item > a,
    .stampyop-mobile-nav li:not(.stampyop-contact-menu-item).current_page_item > a,
    .stampyop-mobile-nav li:not(.stampyop-contact-menu-item) > a:hover,
    .stampyop-mobile-nav li:not(.stampyop-contact-menu-item) > a:focus-visible {
        color: #275ee7 !important;
        background: #eef4ff !important;
    }
}

@media (max-width: 560px) {
    .stampyop-search-result {
        grid-template-columns: 46px minmax(0, 1fr) minmax(74px, auto);
        gap: 9px;
    }
    .stampyop-search-result-copy strong {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }
    .stampyop-search-meta {
        font-size: 11px;
        line-height: 1.25;
    }
    .stampyop-search-price { min-width: 74px; }
    .stampyop-search-price strong { font-size: 14px; }
}

/* Article content must never make the mobile viewport wider than the device. */
.stampyop-article-page,
.stampyop-article-layout,
.stampyop-article-content-card,
.stampyop-article-content {
    min-width: 0;
}
.stampyop-article-content img,
.stampyop-article-content video,
.stampyop-article-content iframe,
.stampyop-article-content embed,
.stampyop-article-content object,
.stampyop-article-content svg,
.stampyop-article-content figure,
.stampyop-article-content .wp-block-image,
.stampyop-article-content .wp-block-video,
.stampyop-article-content .wp-block-embed {
    max-width: 100% !important;
}
.stampyop-article-content img,
.stampyop-article-content video { height: auto; }
.stampyop-article-content table,
.stampyop-article-content pre {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.stampyop-article-content p,
.stampyop-article-content li,
.stampyop-article-content a,
.stampyop-article-content code,
.stampyop-article-content td,
.stampyop-article-content th {
    overflow-wrap: anywhere;
}

@media (max-width: 820px) {
    .stampyop-article-page { overflow-x: hidden; }
    .stampyop-article-page .site-content,
    .stampyop-article-page #primary,
    .stampyop-article-page .content-area,
    .stampyop-article-page .site-main,
    .stampyop-article-page .stampyop-shell,
    .stampyop-article-layout,
    .stampyop-article-content-card,
    .stampyop-article-content {
        max-width: 100% !important;
        box-sizing: border-box;
    }
    .stampyop-article-content figure,
    .stampyop-article-content .wp-block-image,
    .stampyop-article-content .wp-block-video,
    .stampyop-article-content .wp-block-embed {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 700px) {
    /* Checkout: remove inherited GeneratePress inner padding so the existing
       cards can use the phone width with a deliberate 14px outer gutter. */
    body.stampyop-store-theme.woocommerce-checkout #primary,
    body.stampyop-store-theme.woocommerce-checkout .content-area,
    body.stampyop-store-theme.woocommerce-checkout .inside-article,
    body.stampyop-store-theme.woocommerce-checkout .entry-content,
    body.stampyop-store-theme.woocommerce-checkout .entry-content > .woocommerce {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box;
    }
    body.stampyop-store-theme.woocommerce-checkout .inside-article {
        padding-left: 0 !important;
        padding-right: 0 !important;
        background: transparent !important;
    }
    body.stampyop-store-theme.woocommerce-checkout .site-main {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    /* Order received: same phone gutter, without changing the approved cards. */
    body.stampyop-store-theme.stampyop-order-received #primary,
    body.stampyop-store-theme.stampyop-order-received .content-area,
    body.stampyop-store-theme.stampyop-order-received .inside-article,
    body.stampyop-store-theme.stampyop-order-received .entry-content,
    body.stampyop-store-theme.stampyop-order-received .entry-content > .woocommerce,
    body.stampyop-store-theme.stampyop-order-received .woocommerce-order {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box;
    }
    body.stampyop-store-theme.stampyop-order-received .inside-article {
        padding-left: 0 !important;
        padding-right: 0 !important;
        background: transparent !important;
    }
    body.stampyop-store-theme.stampyop-order-received .site-main {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    /* Products archive: keep the approved two-card grid but reclaim outer
       whitespace so both cards have more useful width. */
    body.stampyop-store-theme.woocommerce-shop #primary,
    body.stampyop-store-theme.tax-product_cat #primary,
    body.stampyop-store-theme.tax-product_tag #primary,
    body.stampyop-store-theme.woocommerce-shop .content-area,
    body.stampyop-store-theme.tax-product_cat .content-area,
    body.stampyop-store-theme.tax-product_tag .content-area,
    body.stampyop-store-theme.woocommerce-shop .inside-article,
    body.stampyop-store-theme.tax-product_cat .inside-article,
    body.stampyop-store-theme.tax-product_tag .inside-article {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box;
    }
    body.stampyop-store-theme.woocommerce-shop .inside-article,
    body.stampyop-store-theme.tax-product_cat .inside-article,
    body.stampyop-store-theme.tax-product_tag .inside-article {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
    body.stampyop-store-theme.woocommerce-shop .site-main,
    body.stampyop-store-theme.tax-product_cat .site-main,
    body.stampyop-store-theme.tax-product_tag .site-main {
        width: 100% !important;
        max-width: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    body.stampyop-store-theme.woocommerce-shop .stampyop-shop-search,
    body.stampyop-store-theme.tax-product_cat .stampyop-shop-search,
    body.stampyop-store-theme.tax-product_tag .stampyop-shop-search {
        width: 100% !important;
        max-width: none !important;
    }
}

/* ========================================================================== 
   v2.5.69 — retained mobile width corrections
   Scope retained here: Products and Order Received only.
   Reviews / Checkout width experiments from v2.5.69–v2.5.71 are intentionally
   consolidated below in v2.5.72 to avoid conflicting wrapper rules.
   ========================================================================== */
@media (max-width: 700px) {
    /* Products archive: reclaim inherited GeneratePress outer whitespace. */
    body.stampyop-store-theme.woocommerce-shop .site-content,
    body.stampyop-store-theme.tax-product_cat .site-content,
    body.stampyop-store-theme.tax-product_tag .site-content {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        box-sizing: border-box !important;
    }
    body.stampyop-store-theme.woocommerce-shop #primary,
    body.stampyop-store-theme.tax-product_cat #primary,
    body.stampyop-store-theme.tax-product_tag #primary,
    body.stampyop-store-theme.woocommerce-shop .content-area,
    body.stampyop-store-theme.tax-product_cat .content-area,
    body.stampyop-store-theme.tax-product_tag .content-area,
    body.stampyop-store-theme.woocommerce-shop .inside-article,
    body.stampyop-store-theme.tax-product_cat .inside-article,
    body.stampyop-store-theme.tax-product_tag .inside-article {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }
    body.stampyop-store-theme.woocommerce-shop .site-main,
    body.stampyop-store-theme.tax-product_cat .site-main,
    body.stampyop-store-theme.tax-product_tag .site-main {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Order Received / Thank-you: preserve the approved 8px phone gutter. */
    body.stampyop-store-theme.stampyop-order-received .site-content {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        box-sizing: border-box !important;
    }
    body.stampyop-store-theme.stampyop-order-received #primary,
    body.stampyop-store-theme.stampyop-order-received .content-area,
    body.stampyop-store-theme.stampyop-order-received .inside-article,
    body.stampyop-store-theme.stampyop-order-received .entry-content,
    body.stampyop-store-theme.stampyop-order-received .entry-content > .woocommerce,
    body.stampyop-store-theme.stampyop-order-received .woocommerce-order {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }
    body.stampyop-store-theme.stampyop-order-received .site-main {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* ========================================================================== 
   v2.5.70 — retained single-article mobile hardening
   Reviews / Checkout rules formerly added in this version were superseded and
   consolidated in v2.5.72. Article overflow protection remains unchanged.
   ========================================================================== */
@media (max-width: 700px) {
    body.stampyop-store-theme.stampyop-article-page-body,
    body.stampyop-store-theme.stampyop-article-page-body #page,
    body.stampyop-store-theme.stampyop-article-page-body .site,
    body.stampyop-store-theme.stampyop-article-page-body .site.grid-container,
    body.stampyop-store-theme.stampyop-article-page-body .container.grid-container,
    body.stampyop-store-theme.stampyop-article-page-body .site-content,
    body.stampyop-store-theme.stampyop-article-page-body #primary,
    body.stampyop-store-theme.stampyop-article-page-body .content-area,
    body.stampyop-store-theme.stampyop-article-page-body .site-main,
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-page,
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article,
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-hero,
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-main,
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-end,
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-related,
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-layout,
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-content-card,
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }
    body.stampyop-store-theme.stampyop-article-page-body #page,
    body.stampyop-store-theme.stampyop-article-page-body .site.grid-container,
    body.stampyop-store-theme.stampyop-article-page-body .container.grid-container,
    body.stampyop-store-theme.stampyop-article-page-body .site-content,
    body.stampyop-store-theme.stampyop-article-page-body #primary,
    body.stampyop-store-theme.stampyop-article-page-body .content-area,
    body.stampyop-store-theme.stampyop-article-page-body .site-main {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-page {
        overflow-x: clip !important;
    }
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-page .stampyop-shell {
        width: calc(100% - 16px) !important;
        max-width: calc(100% - 16px) !important;
        margin-left: 8px !important;
        margin-right: 8px !important;
        box-sizing: border-box !important;
    }
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-content-card {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-content > *,
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-content figure,
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-content iframe,
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-content video,
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-content object,
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-content embed,
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-content svg,
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-content img {
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-content .alignwide,
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-content .alignfull {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-content table,
    body.stampyop-store-theme.stampyop-article-page-body .stampyop-article-content pre {
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }
}

/* ========================================================================== 
   v2.5.72 — Reviews + Checkout structural mobile width fix
   - Uses reliable body hooks and GeneratePress no-sidebar layout for these two
     pages so the content area itself is truly full width before card gutters.
   - Replaces the overlapping v2.5.69–v2.5.71 width experiments with one rule
     set. No checkout/payment/order behaviour is changed.
   ========================================================================== */
@media (max-width: 700px) {
    /* Reviews: full GeneratePress chain + one intentional 4px phone gutter. */
    body.stampyop-store-theme.stampyop-reviews-page-body #page,
    body.stampyop-store-theme.stampyop-reviews-page-body .site,
    body.stampyop-store-theme.stampyop-reviews-page-body .site.grid-container,
    body.stampyop-store-theme.stampyop-reviews-page-body .container.grid-container,
    body.stampyop-store-theme.stampyop-reviews-page-body .site-content,
    body.stampyop-store-theme.stampyop-reviews-page-body #primary,
    body.stampyop-store-theme.stampyop-reviews-page-body .content-area,
    body.stampyop-store-theme.stampyop-reviews-page-body .site-main,
    body.stampyop-store-theme.stampyop-reviews-page-body .stampyop-reviews-page {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }
    body.stampyop-store-theme.stampyop-reviews-page-body .site-content {
        display: block !important;
        padding: 0 !important;
    }
    body.stampyop-store-theme.stampyop-reviews-page-body #primary,
    body.stampyop-store-theme.stampyop-reviews-page-body .content-area {
        float: none !important;
        flex: 0 0 100% !important;
        padding: 0 !important;
    }
    body.stampyop-store-theme.stampyop-reviews-page-body #right-sidebar,
    body.stampyop-store-theme.stampyop-reviews-page-body #left-sidebar,
    body.stampyop-store-theme.stampyop-reviews-page-body .widget-area,
    body.stampyop-store-theme.stampyop-reviews-page-body .sidebar {
        display: none !important;
    }
    body.stampyop-store-theme.stampyop-reviews-page-body .stampyop-reviews-page .stampyop-shell {
        width: calc(100% - 8px) !important;
        max-width: none !important;
        margin-left: 4px !important;
        margin-right: 4px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Checkout: force a no-sidebar content chain, then keep only 4px of outer
       whitespace. These selectors change layout width only, never field or
       payment/order behaviour. */
    body.stampyop-store-theme.stampyop-checkout-page-body,
    body.stampyop-store-theme.stampyop-checkout-page-body #page,
    body.stampyop-store-theme.stampyop-checkout-page-body .site,
    body.stampyop-store-theme.stampyop-checkout-page-body .site.grid-container,
    body.stampyop-store-theme.stampyop-checkout-page-body .container.grid-container,
    body.stampyop-store-theme.stampyop-checkout-page-body .site-content,
    body.stampyop-store-theme.stampyop-checkout-page-body #primary,
    body.stampyop-store-theme.stampyop-checkout-page-body .content-area,
    body.stampyop-store-theme.stampyop-checkout-page-body .site-main,
    body.stampyop-store-theme.stampyop-checkout-page-body .inside-article,
    body.stampyop-store-theme.stampyop-checkout-page-body .entry-content,
    body.stampyop-store-theme.stampyop-checkout-page-body .entry-content > .woocommerce {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }
    body.stampyop-store-theme.stampyop-checkout-page-body .site-content {
        display: block !important;
        padding: 0 4px !important;
    }
    body.stampyop-store-theme.stampyop-checkout-page-body #primary,
    body.stampyop-store-theme.stampyop-checkout-page-body .content-area {
        float: none !important;
        flex: 0 0 100% !important;
        padding: 0 !important;
    }
    body.stampyop-store-theme.stampyop-checkout-page-body #right-sidebar,
    body.stampyop-store-theme.stampyop-checkout-page-body #left-sidebar,
    body.stampyop-store-theme.stampyop-checkout-page-body .widget-area,
    body.stampyop-store-theme.stampyop-checkout-page-body .sidebar {
        display: none !important;
    }
    body.stampyop-store-theme.stampyop-checkout-page-body .site-main {
        padding: 22px 0 38px !important;
    }
    body.stampyop-store-theme.stampyop-checkout-page-body .inside-article,
    body.stampyop-store-theme.stampyop-checkout-page-body .entry-content {
        padding-left: 0 !important;
        padding-right: 0 !important;
        background: transparent !important;
    }
    body.stampyop-store-theme.stampyop-checkout-page-body form.checkout.woocommerce-checkout,
    body.stampyop-store-theme.stampyop-checkout-page-body #customer_details,
    body.stampyop-store-theme.stampyop-checkout-page-body form.checkout .col2-set,
    body.stampyop-store-theme.stampyop-checkout-page-body form.checkout .col2-set .col-1,
    body.stampyop-store-theme.stampyop-checkout-page-body form.checkout .col2-set .col-2,
    body.stampyop-store-theme.stampyop-checkout-page-body #order_review_heading,
    body.stampyop-store-theme.stampyop-checkout-page-body #order_review,
    body.stampyop-store-theme.stampyop-checkout-page-body #payment,
    body.stampyop-store-theme.stampyop-checkout-page-body .wc-block-checkout,
    body.stampyop-store-theme.stampyop-checkout-page-body .wc-block-components-sidebar-layout.wc-block-checkout,
    body.stampyop-store-theme.stampyop-checkout-page-body .wc-block-checkout__main,
    body.stampyop-store-theme.stampyop-checkout-page-body .wc-block-checkout__sidebar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }
    body.stampyop-store-theme.stampyop-checkout-page-body form.checkout .col2-set .col-1,
    body.stampyop-store-theme.stampyop-checkout-page-body form.checkout .col2-set .col-2 {
        float: none !important;
    }
    body.stampyop-store-theme.stampyop-checkout-page-body table.shop_table {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
    }
    body.stampyop-store-theme.stampyop-checkout-page-body .woocommerce-error,
    body.stampyop-store-theme.stampyop-checkout-page-body .woocommerce-message,
    body.stampyop-store-theme.stampyop-checkout-page-body .woocommerce-info,
    body.stampyop-store-theme.stampyop-checkout-page-body table.shop_table th,
    body.stampyop-store-theme.stampyop-checkout-page-body table.shop_table td {
        max-width: 100% !important;
        overflow-wrap: anywhere;
        box-sizing: border-box !important;
    }
}


/* ========================================================================== 
   v2.5.74 — Blog article typography readability polish
   - Single-post article content only. Increases body/list/table readability
     without changing blog layout, product pages, checkout or other site UI.
   ========================================================================== */
.stampyop-article-content {
    color: #24324a;
    font-size: 17px;
    line-height: 1.78;
}

.stampyop-article-content p,
.stampyop-article-content li {
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

.stampyop-article-content p,
.stampyop-article-content ul,
.stampyop-article-content ol {
    margin-bottom: 22px;
}

.stampyop-article-content li {
    margin-bottom: 8px;
}

.stampyop-article-content h2 {
    margin-top: 46px;
    margin-bottom: 14px;
    font-size: 32px;
    line-height: 1.18;
}

.stampyop-article-content h3 {
    margin-top: 36px;
    margin-bottom: 12px;
    font-size: 24px;
    line-height: 1.22;
}

.stampyop-article-content h4 {
    margin-top: 30px;
    margin-bottom: 10px;
    font-size: 20px;
    line-height: 1.25;
}

.stampyop-article-content blockquote {
    color: #263a5d;
    font-size: 16.5px;
    line-height: 1.72;
}

.stampyop-article-content table {
    font-size: 15.5px;
    line-height: 1.55;
}

.stampyop-article-content th,
.stampyop-article-content td {
    padding: 13px 14px;
}

@media (max-width: 700px) {
    .stampyop-article-content {
        color: #24324a;
        font-size: 16px;
        line-height: 1.75;
    }
    .stampyop-article-content h2 {
        margin-top: 36px;
        font-size: 27px;
        line-height: 1.2;
    }
    .stampyop-article-content h3 {
        margin-top: 30px;
        font-size: 22px;
        line-height: 1.24;
    }
    .stampyop-article-content h4 {
        margin-top: 26px;
        font-size: 18px;
    }
    .stampyop-article-content p,
    .stampyop-article-content ul,
    .stampyop-article-content ol {
        margin-bottom: 20px;
    }
    .stampyop-article-content table {
        font-size: 15px;
        line-height: 1.5;
    }
    .stampyop-article-content th,
    .stampyop-article-content td {
        padding: 11px 12px;
    }
}
