/*
 * Street Poster theme for the storefront ("skvot"), version 1.
 *
 * A layer over styles.css, active only when <html> carries .theme-skvot (see StorefrontThemeAttributes and the
 * top of fragments/layout.html). It re-points the template's colour variables, swaps the typefaces and redraws
 * the pieces every page shares: buttons, header, footer, forms, cards, offcanvas and modals. Page-specific work
 * (home, product, cart...) is added below as it is done.
 *
 * Rename the file (skvot-v4.css) when it changes: /assets/css is cached for an hour at the CDN.
 */

html.theme-skvot {
    --sk-y: #ffe14a;
    --sk-k: #0d0d0d;
    --sk-w: #fffdf5;
    --sk-r: #ff3b2f;
    --sk-b: #2f5bff;
    --sk-p: #ff9ad5;
    --sk-g: #3ddc84;
    --sk-bd: 3px solid var(--sk-k);
    --sk-sh: 6px 6px 0 var(--sk-k);

    --primary: var(--sk-r);
    --secondary: var(--sk-b);
    --third: var(--sk-y);
    --text: var(--sk-k);
    --text-2: #3b3b3b;
    --text-3: #5f5f5f;
    --bg: var(--sk-w);
    --bg-2: var(--sk-w);
    --bg-7: var(--sk-w);
    --line: #0d0d0d;
    --yellow: var(--sk-y);
    --pink: var(--sk-p);
    --success: #1f9d55;
    --critical: var(--sk-r);
}

html.theme-skvot body {
    font-family: 'Archivo', Arial, sans-serif;
    background: var(--sk-w);
    color: var(--sk-k);
}
html.theme-skvot ::selection { background: var(--sk-y); color: var(--sk-k); }
html.theme-skvot h1, html.theme-skvot h2 {
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: -.02em;
    line-height: .98;
}
html.theme-skvot h3, html.theme-skvot h4, html.theme-skvot h5, html.theme-skvot h6 {
    font-family: 'Archivo', sans-serif;
    font-weight: 800;
}
/* A section heading that is an h2 for the outline but was styled as a smaller heading keeps the smaller look. */
html.theme-skvot h2.h3, html.theme-skvot h2.h4, html.theme-skvot h2.h5, html.theme-skvot h2.h6 {
    font-family: 'Archivo', sans-serif;
    font-weight: 800;
    text-transform: none;
    letter-spacing: normal;
    line-height: 1.25;
}
html.theme-skvot a { transition: color .15s, background-color .15s, transform .15s, box-shadow .15s; }

/* ---------- buttons ---------- */
html.theme-skvot .tf-btn {
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .02em;
    font-size: 14px;
    border: var(--sk-bd);
    border-radius: 0;
    background: var(--sk-k);
    color: #fff;
    box-shadow: 4px 4px 0 var(--sk-k);
    transition: transform .15s, box-shadow .15s, background-color .15s, color .15s;
}
html.theme-skvot .tf-btn:hover { transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--sk-k); background: var(--sk-k); color: var(--sk-y); }
html.theme-skvot .tf-btn::after, html.theme-skvot .animate-btn::after { display: none !important; }
html.theme-skvot .tf-btn.btn-white { background: #fff; color: var(--sk-k); }
html.theme-skvot .tf-btn.btn-white:hover { background: var(--sk-y); color: var(--sk-k); }
html.theme-skvot .tf-btn.btn-primary { background: var(--sk-r); color: #fff; }
html.theme-skvot .tf-btn.btn-primary:hover { background: var(--sk-r); color: var(--sk-y); }
html.theme-skvot .tf-btn.btn-third, html.theme-skvot .tf-btn.btn-secondary { background: var(--sk-y); color: var(--sk-k); }
html.theme-skvot .tf-btn.btn-stroke:not(:hover), html.theme-skvot .tf-btn.btn-stroke-2 { background: #fff; color: var(--sk-k); border: var(--sk-bd); }
html.theme-skvot .tf-btn.btn-stroke:hover { background: var(--sk-y); color: var(--sk-k); }

/* ---------- forms ---------- */
html.theme-skvot .form-control, html.theme-skvot .form-select, html.theme-skvot textarea, html.theme-skvot select,
html.theme-skvot input[type="text"], html.theme-skvot input[type="email"], html.theme-skvot input[type="password"],
html.theme-skvot input[type="tel"], html.theme-skvot input[type="number"], html.theme-skvot input[type="search"] {
    border: var(--sk-bd);
    border-radius: 0;
    background: #fff;
    color: var(--sk-k);
    font-weight: 600;
    box-shadow: 3px 3px 0 var(--sk-k);
}
html.theme-skvot .form-control:focus, html.theme-skvot .form-select:focus, html.theme-skvot textarea:focus,
html.theme-skvot input:focus, html.theme-skvot select:focus {
    border-color: var(--sk-k);
    outline: 4px solid var(--sk-b);
    outline-offset: 2px;
    box-shadow: 3px 3px 0 var(--sk-k);
}
html.theme-skvot label { font-weight: 800; }
html.theme-skvot input[type="checkbox"], html.theme-skvot input[type="radio"] { accent-color: var(--sk-k); }

/* ---------- header ---------- */
html.theme-skvot .tf-header {
    background: var(--sk-k);
    border-bottom: 4px solid var(--sk-y);
    color: #fff;
}
html.theme-skvot .tf-header .br-line { display: none; }
html.theme-skvot .logo-classic { display: none !important; }
html.theme-skvot .logo-skvot { display: block !important; }
html.theme-skvot .tf-header .logo-site img { height: 49px; width: auto; transition: transform .2s; }
/* the wide yellow logo is wider than the 150px box the classic one was drawn for: let the box be as wide as the picture, or the menu starts under it */
/* between 1400 and 1600px the menu is pushed left and starts under a full-size logo: a smaller logo there */
@media (min-width: 1400px) and (max-width: 1600px) {
  html.theme-skvot .tf-header .logo-site img { height: 36px; }
}
html.theme-skvot .tf-header .logo-site:hover img { transform: rotate(-3deg) scale(1.05); }
html.theme-skvot .box-nav-menu .item-link, html.theme-skvot .box-nav-menu .item-link .text {
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .04em;
    color: #fff;
}
html.theme-skvot .box-nav-menu .item-link { position: relative; }
html.theme-skvot .box-nav-menu .item-link:hover, html.theme-skvot .box-nav-menu .item-link.active,
html.theme-skvot .box-nav-menu .item-link:hover .text, html.theme-skvot .box-nav-menu .item-link.active .text { color: var(--sk-y); }
html.theme-skvot .box-nav-menu .item-link::before, html.theme-skvot .box-nav-menu .item-link::after { display: none; }
html.theme-skvot .box-nav-menu .sub-menu {
    background: #fff;
    border: var(--sk-bd);
    border-radius: 0;
    box-shadow: var(--sk-sh);
    color: var(--sk-k);
}
html.theme-skvot .box-nav-menu .sub-menu .link { color: var(--sk-k); font-weight: 700; }
html.theme-skvot .box-nav-menu .sub-menu .link:hover { background: var(--sk-y); }
html.theme-skvot .site-header-chip, html.theme-skvot .site-header-chip a, html.theme-skvot .site-header-chip-toggle {
    color: #fff;
    border-color: #ffffff55;
    background: transparent;
}
html.theme-skvot .site-header-chip { border: 2px solid #ffffff55; border-radius: 99px; }
html.theme-skvot .site-header-chip:hover { border-color: var(--sk-y); }
html.theme-skvot .site-header-chip a.is-active, html.theme-skvot .site-header-chip strong { color: var(--sk-y); }
html.theme-skvot .site-header-chip-dropdown-menu { background: #fff; border: var(--sk-bd); border-radius: 0; box-shadow: var(--sk-sh); }
html.theme-skvot .site-header-chip-dropdown-menu a { color: var(--sk-k); font-weight: 700; }
html.theme-skvot .site-header-chip-dropdown-menu a:hover, html.theme-skvot .site-header-chip-dropdown-menu a.is-active { background: var(--sk-y); }
html.theme-skvot .nav-icon-item, html.theme-skvot .site-mobile-nav-trigger { color: #fff; }
html.theme-skvot .nav-icon-item:hover { color: var(--sk-y); }
html.theme-skvot .site-cart-badge {
    background: var(--sk-r);
    color: #fff;
    border: 2px solid #fff;
    font-family: 'Archivo Black', sans-serif;
    font-weight: 400;
}

/* ---------- offcanvas, modals, dropdowns ---------- */
html.theme-skvot .offcanvas { border-radius: 0; border-color: var(--sk-k); }
html.theme-skvot .site-mini-cart-canvas { border-left: 4px solid var(--sk-k); background: var(--sk-w); }
html.theme-skvot .site-mobile-nav-offcanvas { background: var(--sk-k); color: #fff; border-right: 4px solid var(--sk-y); }
html.theme-skvot .site-mobile-nav-offcanvas a, html.theme-skvot .site-mobile-nav-offcanvas .site-mobile-nav-title { color: #fff; }
html.theme-skvot .site-mobile-nav-offcanvas a:hover { color: var(--sk-y); }
html.theme-skvot .site-mobile-nav-title, html.theme-skvot .site-mini-cart-head h3 {
    font-family: 'Archivo Black', sans-serif; font-weight: 400; text-transform: uppercase;
}
html.theme-skvot .modal-content { border: var(--sk-bd); border-radius: 0; box-shadow: 10px 10px 0 var(--sk-k); }
html.theme-skvot .dropdown-menu { border-radius: 0; }
html.theme-skvot .site-cookie-banner {
    background: #fff;
    border: var(--sk-bd);
    border-radius: 0;
    box-shadow: var(--sk-sh);
    color: var(--sk-k);
}

/* ---------- product cards, badges ---------- */
html.theme-skvot .card-product .product-img, html.theme-skvot .product-img { border-radius: 0; border: var(--sk-bd); box-shadow: 4px 4px 0 var(--sk-k); background: #fff; }
html.theme-skvot .card-product:hover .product-img { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--sk-k); }
html.theme-skvot .card-product .product-img, html.theme-skvot .card-product .product-img img { border-radius: 0; }
html.theme-skvot .name-product { font-weight: 800; color: var(--sk-k); }
html.theme-skvot .price-new { font-family: 'Archivo Black', sans-serif; font-weight: 400; color: var(--sk-k) !important; }
html.theme-skvot .price-old { color: var(--sk-r); }
html.theme-skvot .badge, html.theme-skvot .on-sale-wrap .on-sale-item, html.theme-skvot .product-label {
    border-radius: 0;
    border: 2px solid var(--sk-k);
    font-family: 'Archivo Black', sans-serif;
    font-weight: 400;
    text-transform: uppercase;
}

/* ---------- footer ---------- */
html.theme-skvot .tf-footer {
    background: var(--sk-k);
    color: #fff;
    border-top: 4px solid var(--sk-y);
}
html.theme-skvot .tf-footer .br-line { display: none; }
html.theme-skvot .tf-footer .footer-heading {
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: 14px;
    color: var(--sk-y);
}
html.theme-skvot .tf-footer a, html.theme-skvot .tf-footer .cl-text-2, html.theme-skvot .tf-footer p { color: #fff; }
html.theme-skvot .tf-footer a.link:hover { color: var(--sk-y); }
html.theme-skvot .tf-footer .logo-site img { height: 56px; width: auto; }
/* The approved draft's footer: the PS mark tiled across the black, tilted, barely there (a mask, so no extra picture to load). */
html.theme-skvot .tf-footer { position: relative; overflow: hidden; }
html.theme-skvot .tf-footer::before { content: ""; position: absolute; inset: 0; background: #ffffff0d; -webkit-mask: url(/assets/images/logo/mark-ps.svg) 0 0 / 150px auto; mask: url(/assets/images/logo/mark-ps.svg) 0 0 / 150px auto; opacity: .55; transform: rotate(-8deg) scale(1.4); pointer-events: none; }
html.theme-skvot .tf-footer > * { position: relative; }

/* ---------- page furniture ---------- */
html.theme-skvot .flat-spacing { padding-top: 64px; padding-bottom: 64px; }
html.theme-skvot hr { border-color: var(--sk-k); opacity: 1; }

/* =====================================================================
   HOME
   ===================================================================== */
html.theme-skvot .sk-marquee { display: block; }
.sk-marquee { display: none; background: #0d0d0d; color: #ffe14a; overflow: hidden; white-space: nowrap; border-bottom: 3px solid #0d0d0d; }
.sk-marquee__track { display: inline-flex; width: max-content; animation: sk-marquee 40s linear infinite; padding: 13px 0; font-family: 'Archivo Black', sans-serif; text-transform: uppercase; font-size: 20px; }
.sk-marquee__track span { margin: 0 22px; }
.sk-marquee__track i { font-style: normal; color: #ff3b2f; margin: 0 4px; }
@keyframes sk-marquee { to { transform: translateX(-50%); } }

/* hero: the editor's banner photo under a poster headline */
html.theme-skvot .home-hero .home-hero__overlay { background: linear-gradient(180deg, rgba(13,13,13,.25) 0%, rgba(13,13,13,.55) 100%); }
html.theme-skvot .home-hero .sub-text_sld {
    display: inline-block;
    background: var(--sk-y); color: var(--sk-k);
    border: var(--sk-bd);
    padding: 5px 14px;
    font-family: 'Archivo Black', sans-serif; letter-spacing: .06em; font-size: 12px;
    transform: rotate(-2deg);
}
html.theme-skvot .home-hero .title_sld {
    color: #fff;
    font-size: clamp(48px, 8vw, 118px);
    line-height: .92;
    text-shadow: 5px 5px 0 var(--sk-k);
}
html.theme-skvot .home-hero .desc_sld { color: #fff; font-weight: 700; font-size: 20px; text-shadow: 2px 2px 0 var(--sk-k); }
html.theme-skvot .home-hero .tf-btn.btn-white { background: var(--sk-y); color: var(--sk-k); }
html.theme-skvot .home-hero-nav { border-radius: 0; border: var(--sk-bd); background: #fff; color: var(--sk-k); backdrop-filter: none; }
html.theme-skvot .home-hero-nav:hover { background: var(--sk-y); }
html.theme-skvot .home-hero .tf-sw-pagination .swiper-pagination-bullet { border-radius: 0; background: #fff; }

/* section titles */
html.theme-skvot .home-title { font-size: clamp(36px, 5.4vw, 76px); margin-bottom: 12px; position: relative; display: inline-block; z-index: 0; }
html.theme-skvot .home-title::after { content: ""; position: absolute; left: -4px; right: -4px; bottom: 2px; height: 14px; background: var(--sk-y); z-index: -1; transform: rotate(-.6deg); }
html.theme-skvot .home-subtitle { color: var(--sk-k); font-weight: 600; font-size: 18px; margin-top: 8px; }

/* product cards */
html.theme-skvot .home-rich-card .card-product_wrapper { border-radius: 0; border: var(--sk-bd); background: #fff; box-shadow: var(--sk-sh); }
html.theme-skvot .home-rich-card .product-img { border-radius: 0; border: 0; box-shadow: none; background: #fff; border-bottom: var(--sk-bd); }
html.theme-skvot .home-rich-card .box-icon { border-radius: 0; border: 2px solid var(--sk-k); box-shadow: 3px 3px 0 var(--sk-k); background: #fff; }
html.theme-skvot .home-rich-card .box-icon:hover { background: var(--sk-y); }
html.theme-skvot .home-rich-card .product-action_bot .tf-btn { border-radius: 0; min-height: 44px; }
html.theme-skvot .home-rich-card .name-product { font-size: 17px; line-height: 1.25; }
html.theme-skvot .home-rich-card .price-new { font-size: 22px; }
html.theme-skvot .home-swatch-btn { border: 2px solid var(--sk-k); border-radius: 0; }
html.theme-skvot .home-swatch-btn::after { border-radius: 0; inset: 2px; }
html.theme-skvot .home-size-chip { border-radius: 0; border: 2px solid var(--sk-k); background: #fff; font-weight: 800; }

/* categories: polaroids */
html.theme-skvot .home-category-slider .swiper-slide .home-category-card,
html.theme-skvot .home-category-card {
    background: #fffdf5 !important;
    border: var(--sk-bd);
    border-radius: 0;
    padding: 10px 10px 0;
    box-shadow: var(--sk-sh);
    transform: rotate(-1.2deg);
    transition: transform .25s, box-shadow .25s;
}
html.theme-skvot .home-category-slider .swiper-slide:nth-child(even) .home-category-card { transform: rotate(1.4deg); }
html.theme-skvot .home-category-card:hover { transform: rotate(0) translateY(-6px) scale(1.03) !important; box-shadow: 8px 12px 0 var(--sk-k); }
html.theme-skvot .home-category-card img { height: 300px; border-radius: 0; }
html.theme-skvot .home-category-card__overlay { display: none; }
html.theme-skvot .home-category-card__content {
    position: static; inset: auto; background: transparent; border: 0; backdrop-filter: none; box-shadow: none;
    padding: 6px 4px 8px; color: var(--sk-k);
}
html.theme-skvot .home-category-card:hover .home-category-card__content { transform: none; box-shadow: none; }
html.theme-skvot .home-category-card__icon { display: none; }
html.theme-skvot .home-category-card__title { font-family: 'Caveat', cursive; font-size: 34px; color: var(--sk-k); }
html.theme-skvot .home-category-card__arrow { width: 38px; height: 38px; flex-basis: 38px; border-radius: 0; background: var(--sk-y); border: 2px solid var(--sk-k); box-shadow: none; }
html.theme-skvot .home-category-slider { padding: 14px 10px 26px; }

/* weekly highlights: a blue stage */
html.theme-skvot .home-highlights { background: var(--sk-b); border-block: var(--sk-bd); padding-top: 64px; }
html.theme-skvot .home-highlights .home-title, html.theme-skvot .home-highlights .home-subtitle { color: #fff; }
html.theme-skvot .home-highlights .home-title::after { background: var(--sk-k); }
html.theme-skvot .home-highlight-shell { border-radius: 0; border: var(--sk-bd); background: var(--sk-w); box-shadow: 10px 10px 0 var(--sk-k); padding: 22px; }
html.theme-skvot .home-highlights .card-product_wrapper { background: #fff; }
html.theme-skvot .home-highlight-banner { border-radius: 0; border: var(--sk-bd); overflow: hidden; }
html.theme-skvot .home-highlight-banner__title { font-family: 'Archivo Black', sans-serif; text-transform: uppercase; font-weight: 400; text-shadow: 3px 3px 0 var(--sk-k); }

/* reviews */
html.theme-skvot .home-review-photo { border-radius: 0; border: var(--sk-bd); box-shadow: var(--sk-sh); transform: rotate(-1.5deg); background: #fff; padding: 8px; }
html.theme-skvot .home-review-photo img { border-radius: 0; }
html.theme-skvot .col-sm-6:nth-child(even) .home-review-photo { transform: rotate(1.5deg); }

/* the strip between the shelf and the pets */
html.theme-skvot .home-bridge { background: var(--sk-k); border-block: 4px solid var(--sk-y); }
html.theme-skvot .home-bridge__kicker { font-family: 'Caveat', cursive; font-size: 28px; color: var(--sk-y); letter-spacing: 0; text-transform: none; }

/* pets */
html.theme-skvot .home-pets-shell { border-radius: 0; border: var(--sk-bd); background: var(--sk-p); box-shadow: 10px 10px 0 var(--sk-k); }
html.theme-skvot .home-pets-photo { border-radius: 0; border: var(--sk-bd); background: #fff; }
html.theme-skvot .home-pets-photo--lead { border-radius: 0; }
html.theme-skvot .home-pets-eyebrow { border-radius: 0; border: 2px solid var(--sk-k); background: #fff; color: var(--sk-k); font-weight: 800; transform: rotate(-2deg); }
html.theme-skvot .home-pets-copy h2 { font-size: clamp(30px, 3.6vw, 52px); }
html.theme-skvot .home-pets-steps li::marker { color: var(--sk-k); font-weight: 800; }
html.theme-skvot .home-pets-steps li { color: var(--sk-k); font-weight: 700; }
html.theme-skvot .home-pets-price strong { font-family: 'Archivo Black', sans-serif; font-weight: 400; font-size: 34px; color: var(--sk-k); }
html.theme-skvot .home-pets-copy p, html.theme-skvot .home-pets-price span { color: var(--sk-k); }

/* custom orders */
html.theme-skvot .home-co-card { border-radius: 0 !important; border: var(--sk-bd); background: var(--sk-g) !important; color: var(--sk-k) !important; box-shadow: 10px 10px 0 var(--sk-k); }
html.theme-skvot .home-co-media { border-radius: 0 !important; border: var(--sk-bd); box-shadow: 6px 6px 0 var(--sk-k); background: #fff !important; }
html.theme-skvot .home-co-copy h2, html.theme-skvot .home-co-copy p, html.theme-skvot .home-co-steps { color: var(--sk-k) !important; }
html.theme-skvot .home-co-eyebrow { border-radius: 0 !important; background: #fff !important; color: var(--sk-k); border: 2px solid var(--sk-k); }
html.theme-skvot .home-co-steps li::marker { color: var(--sk-k) !important; }
html.theme-skvot .home-co-copy .tf-btn { background: var(--sk-k) !important; color: #fff !important; border: var(--sk-bd) !important; }

/* light sign and gift boxes (bootstrap utility cards in the template) */
html.theme-skvot .home-custom-orders + section .border.rounded-4 {
    border: var(--sk-bd) !important; border-radius: 0 !important; box-shadow: var(--sk-sh); background: #fff !important;
}
html.theme-skvot .home-custom-orders + section .col-lg-6:first-child .border.rounded-4 { background: var(--sk-y) !important; }
html.theme-skvot .home-custom-orders + section .cl-text-3, html.theme-skvot .home-custom-orders + section .cl-text-2 { color: var(--sk-k) !important; }
html.theme-skvot .home-custom-orders + section h2 { font-size: 28px; }

/* company banner */
html.theme-skvot .home-promo-banner { border-radius: 0; border: var(--sk-bd); box-shadow: 10px 10px 0 var(--sk-k); }
html.theme-skvot .home-promo-shade { background: linear-gradient(90deg, rgba(13,13,13,.82) 0%, rgba(13,13,13,.35) 60%, rgba(13,13,13,0) 100%); }
html.theme-skvot .home-promo-copy h2 { color: #fff; font-size: clamp(34px, 4.6vw, 70px); }
html.theme-skvot .home-promo-point { border-radius: 0; border: 2px solid var(--sk-y); background: transparent; color: #fff; font-weight: 700; }
html.theme-skvot .home-promo-banner .tf-btn.btn-white { background: var(--sk-y); color: var(--sk-k); }
html.theme-skvot .home-promo-banner .tf-btn.btn-stroke { background: transparent; color: #fff !important; border: 3px solid #fff !important; box-shadow: none; }
html.theme-skvot .home-promo-ticker { background: var(--sk-k); border-top: 4px solid var(--sk-y); backdrop-filter: none; }
html.theme-skvot .home-promo-ticker__track span { color: var(--sk-y); font-family: 'Archivo Black', sans-serif; }

/* fixes after the first look */
html.theme-skvot .tf-footer a, html.theme-skvot .tf-footer .cl-text-2, html.theme-skvot .tf-footer p, html.theme-skvot .tf-footer li { color: #fff !important; opacity: 1 !important; }
html.theme-skvot .tf-footer a.link:hover { color: var(--sk-y) !important; }
html.theme-skvot .home-promo-copy { max-width: 640px; }
html.theme-skvot .home-promo-copy h2 { font-size: clamp(30px, 3.8vw, 54px); }
html.theme-skvot .home-highlights .home-rich-card .product-img { border-bottom: 0; }

/* =====================================================================
   EVERYTHING ELSE: square the soft shapes of the original theme
   ===================================================================== */
html.theme-skvot [class*="card"]:not([class*="swatch"]):not([class*="dot"]):not([class*="bullet"]):not([class*="avatar"]):not([class*="icon"]),
html.theme-skvot [class*="panel"], html.theme-skvot [class*="shell"], html.theme-skvot [class*="-box"], html.theme-skvot [class*="tile"],
html.theme-skvot [class*="chip"]:not([class*="header"]), html.theme-skvot [class*="pill"], html.theme-skvot [class*="alert"], html.theme-skvot [class*="notice"],
html.theme-skvot [class*="summary"], html.theme-skvot [class*="option"], html.theme-skvot [class*="tab"], html.theme-skvot [class*="group"],
html.theme-skvot .rounded, html.theme-skvot .rounded-2, html.theme-skvot .rounded-3, html.theme-skvot .rounded-4, html.theme-skvot .rounded-5,
html.theme-skvot .tf-btn, html.theme-skvot .form-control, html.theme-skvot .form-select, html.theme-skvot img.rounded {
    border-radius: 0 !important;
}
html.theme-skvot .breadcrumb, html.theme-skvot [class*="breadcrumb"] { font-family: 'Archivo Black', sans-serif; font-size: 12px; text-transform: uppercase; }

/* footer extras of the approved design */
.sk-only { display: none; }
html.theme-skvot .sk-only { display: block; }
html.theme-skvot .sk-footer-extra { margin-top: 36px; display: grid; grid-template-columns: minmax(0, 420px) 1fr; gap: 28px; align-items: end; }
html.theme-skvot .sk-join { background: var(--sk-y); color: var(--sk-k); border: var(--sk-bd); box-shadow: 8px 8px 0 #fffdf5; padding: 24px; }
html.theme-skvot .sk-join strong { font-family: 'Archivo Black', sans-serif; text-transform: uppercase; font-size: 22px; line-height: 1; display: block; margin-bottom: 10px; color: var(--sk-k); }
html.theme-skvot .sk-join p { color: var(--sk-k) !important; font-weight: 600; margin: 0 0 14px; }
html.theme-skvot .sk-join .tf-btn { background: var(--sk-k); color: var(--sk-y) !important; box-shadow: none; }
html.theme-skvot .sk-legalbar { display: flex; gap: 22px; flex-wrap: wrap; justify-content: flex-end; font-weight: 600; font-size: 13px; padding-bottom: 8px; }
@media (max-width: 800px) { html.theme-skvot .sk-footer-extra { grid-template-columns: 1fr; } html.theme-skvot .sk-legalbar { justify-content: flex-start; } }

/* =====================================================================
   PAGE TITLE BAND (23 pages share .section-page-title): coloured poster band with a zigzag edge
   ===================================================================== */
html.theme-skvot { --sk-band: var(--sk-p); }
html.theme-skvot[data-sk-page="cart"], html.theme-skvot[data-sk-page="track-order"], html.theme-skvot[data-sk-page="blog"] { --sk-band: var(--sk-y); }
html.theme-skvot[data-sk-page="about"], html.theme-skvot[data-sk-page="faq"], html.theme-skvot[data-sk-page="custom-orders"] { --sk-band: var(--sk-g); }
html.theme-skvot[data-sk-page="contact"], html.theme-skvot[data-sk-page="account"] { --sk-band: var(--sk-b); }
html.theme-skvot[data-sk-page="contact"] .section-page-title *, html.theme-skvot[data-sk-page="account"] .section-page-title * { color: #fff !important; }
html.theme-skvot .section-page-title {
    background: var(--sk-band);
    border-bottom: var(--sk-bd);
    text-align: left !important;
    padding: 40px 0 38px !important;
    position: relative;
    margin-bottom: 22px;
}
html.theme-skvot .section-page-title::after {
    content: "";
    position: absolute; left: 0; right: 0; bottom: -22px; height: 22px; z-index: 2;
    background: linear-gradient(135deg, var(--sk-k) 25%, transparent 25%) -11px 0, linear-gradient(225deg, var(--sk-k) 25%, transparent 25%) -11px 0;
    background-size: 22px 22px;
    background-color: var(--sk-band);
}
html.theme-skvot .section-page-title .main-page-title { align-items: flex-start !important; text-align: left !important; }
html.theme-skvot .section-page-title .breadcrumbs { justify-content: flex-start !important; }
html.theme-skvot .section-page-title .breadcrumbs a, html.theme-skvot .section-page-title .breadcrumbs p {
    font-family: 'Archivo Black', sans-serif; text-transform: uppercase; font-size: 12px; letter-spacing: .05em; color: var(--sk-k) !important;
}
html.theme-skvot .section-page-title h1, html.theme-skvot .section-page-title .h3 {
    font-family: 'Archivo Black', sans-serif !important; font-weight: 400 !important; text-transform: uppercase;
    font-size: clamp(42px, 7vw, 96px) !important; line-height: .95 !important; margin: 10px 0 8px !important; color: var(--sk-k);
}
html.theme-skvot .section-page-title p.text-body-1, html.theme-skvot .section-page-title .cl-text-2 { color: var(--sk-k) !important; font-weight: 600; font-size: 18px; max-width: 640px; margin: 0 !important; }

/* =====================================================================
   SHOP: cards with price circles, filters in a box
   ===================================================================== */
html.theme-skvot .shop-card {
    position: relative; padding: 0; background: #fff; border: var(--sk-bd); box-shadow: var(--sk-sh); transition: transform .15s, box-shadow .15s;
}
html.theme-skvot .shop-card:hover { transform: translate(3px, 3px); box-shadow: 2px 2px 0 var(--sk-k); }
html.theme-skvot .shop-card-wrapper { background: #fff; overflow: hidden; border-bottom: var(--sk-bd); }
html.theme-skvot .shop-card-media { background: #fff; }
html.theme-skvot .shop-card-badges span { border: 2px solid var(--sk-k); background: var(--sk-y); font-family: 'Archivo Black', sans-serif; font-weight: 400; text-transform: uppercase; }
html.theme-skvot .shop-card-quick .tf-btn { min-height: 44px; }
html.theme-skvot .shop-sale-marquee { background: var(--sk-k); border: 2px solid var(--sk-y); border-radius: 0 !important; }
html.theme-skvot .shop-sale-marquee__track span { color: var(--sk-y); font-family: 'Archivo Black', sans-serif; }
html.theme-skvot .shop-card-info { padding: 12px 14px 14px; }
html.theme-skvot .shop-card-category, html.theme-skvot .shop-card-stars, html.theme-skvot .shop-card-ship, html.theme-skvot .shop-size-list { display: none; }
html.theme-skvot .shop-card-ship span { color: #6f5527; }
html.theme-skvot .shop-card-name { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 16px; min-height: 40px; color: var(--sk-k); }
html.theme-skvot .shop-card .shop-card-price {
    position: absolute; right: -14px; top: -16px; z-index: 4; margin: 0; width: 80px; height: 80px;
    border-radius: 50% !important; background: #d6281c; color: #fff; border: var(--sk-bd);
    display: grid; place-items: center; text-align: center; align-content: center; gap: 0; transform: rotate(10deg); box-shadow: 3px 3px 0 var(--sk-k); padding: 6px;
}
html.theme-skvot .shop-card .shop-card-price strong { color: #fff; font-family: 'Archivo Black', sans-serif; font-weight: 400; font-size: 15px; line-height: 1; }
html.theme-skvot .shop-card .shop-card-price span { color: #fff; opacity: 1; font-size: 10px; font-weight: 600; text-decoration: line-through; line-height: 1; }
html.theme-skvot .shop-results-grid > .col-6:nth-child(4n+1) .shop-card-price, html.theme-skvot .shop-results-grid > *:nth-child(4n+1) .shop-card-price { background: var(--sk-b); }
html.theme-skvot .shop-results-grid > *:nth-child(4n+2) .shop-card-price { background: var(--sk-g); color: var(--sk-k); }
html.theme-skvot .shop-results-grid > *:nth-child(4n+2) .shop-card-price strong, html.theme-skvot .shop-results-grid > *:nth-child(4n+2) .shop-card-price span { color: var(--sk-k); }
html.theme-skvot .shop-results-grid > *:nth-child(4n+3) .shop-card-price { background: var(--sk-p); }
html.theme-skvot .shop-results-grid > *:nth-child(4n+3) .shop-card-price strong, html.theme-skvot .shop-results-grid > *:nth-child(4n+3) .shop-card-price span { color: var(--sk-k); }
html.theme-skvot .shop-swatch-btn { border: 2px solid var(--sk-k); border-radius: 0 !important; }
html.theme-skvot .shop-swatch-btn::after { border-radius: 0; inset: 2px; }
html.theme-skvot .shop-sidebar-card, html.theme-skvot .shop-sidebar-column > * { border: var(--sk-bd); box-shadow: var(--sk-sh); background: #fff; }
html.theme-skvot .shop-empty-card { border: var(--sk-bd); box-shadow: var(--sk-sh); }
html.theme-skvot .tf-page-pagination a, html.theme-skvot .tf-page-pagination li > * {
    border: var(--sk-bd); border-radius: 0 !important; background: #fff; box-shadow: 3px 3px 0 var(--sk-k); font-family: 'Archivo Black', sans-serif; font-weight: 400;
}
html.theme-skvot .tf-page-pagination .active, html.theme-skvot .tf-page-pagination a:hover { background: var(--sk-k); color: var(--sk-y); }

/* =====================================================================
   PRODUCT, CART, CHECKOUT: the same hard-edged boxes
   ===================================================================== */
html.theme-skvot .product-gallery .swiper-slide img, html.theme-skvot .product-gallery img { border: var(--sk-bd); box-shadow: 8px 8px 0 var(--sk-k); background: #fff; }
html.theme-skvot .product-panel, html.theme-skvot .product-bundle-box, html.theme-skvot .product-pair-card { border: var(--sk-bd); box-shadow: var(--sk-sh); background: #fff; }
html.theme-skvot .cart-summary-card, html.theme-skvot .cart-table-wrap, html.theme-skvot .cart-promo-box, html.theme-skvot .cart-recommend-card,
html.theme-skvot .checkout-soft-panel, html.theme-skvot .checkout-order-card, html.theme-skvot .checkout-method-card, html.theme-skvot .checkout-promo-box,
html.theme-skvot .checkout-bonus-box, html.theme-skvot .checkout-locker-panel, html.theme-skvot .checkout-packaging-card, html.theme-skvot .box-your-order {
    border: var(--sk-bd) !important; box-shadow: var(--sk-sh) !important; background: #fff !important;
}
html.theme-skvot .cart-summary-total, html.theme-skvot .checkout-summary-row:last-child { font-family: 'Archivo Black', sans-serif; font-weight: 400; text-transform: uppercase; }
html.theme-skvot .cart-summary-bar { border: var(--sk-bd); background: #fff; }
html.theme-skvot .cart-summary-bar > * { background: repeating-linear-gradient(45deg, var(--sk-y) 0 10px, var(--sk-k) 10px 20px); }
html.theme-skvot .section-page-title .main-page-title > :is(h1, h2, h3) {
    font-family: 'Archivo Black', sans-serif !important; font-weight: 400 !important; text-transform: uppercase;
    font-size: clamp(42px, 7vw, 96px) !important; line-height: .95 !important; color: var(--sk-k);
}

/* =====================================================================
   FIXES FROM THE PHONE PASS
   ===================================================================== */
/* the menu button was white on white (invisible): a yellow square with a black icon, like the other poster buttons */
html.theme-skvot .site-mobile-nav-trigger {
    background: var(--sk-y) !important; color: var(--sk-k) !important; border: 2px solid var(--sk-k) !important;
    border-radius: 0 !important; box-shadow: 3px 3px 0 #ffffff55; width: 44px; height: 44px;
}
html.theme-skvot .site-mobile-nav-trigger i, html.theme-skvot .site-mobile-nav-trigger span { color: var(--sk-k) !important; }
html.theme-skvot .site-mobile-nav-trigger::before, html.theme-skvot .site-mobile-nav-trigger::after { background: var(--sk-k); }
@media (max-width: 767px) {
    /* the price circle hung 14px outside its card and was cut by the screen edge on the right-hand column */
    .skh .sk-card .sk-pr { right: -6px; top: -12px; min-width: 66px; height: 66px; font-size: 14px; }
    .skh .sk-fan span { font-size: 19px; }
    html.theme-skvot .shop-card .shop-card-price { right: 2px; top: -12px; width: 68px; height: 68px; }
    html.theme-skvot .shop-card .shop-card-price { width: 76px; height: 76px; padding: 2px; }
    html.theme-skvot .shop-card .shop-card-price strong { font-size: 12.5px; white-space: nowrap; }
}

/* the generic "[class*=card]" rule above squared the price circle too: win it back */
html.theme-skvot.theme-skvot.theme-skvot .shop-card.shop-card .shop-card-price.shop-card-price.shop-card-price { border-radius: 50% !important; }

/* soft shapes the pass above does not reach: shop toolbar, product page, checkout, tracking, custom and company pages */
html.theme-skvot .tf-shop-control, html.theme-skvot .product-thumb, html.theme-skvot .product-main, html.theme-skvot .product-size-btn,
html.theme-skvot .product-status, html.theme-skvot .product-ship-note, html.theme-skvot .delivery-estimate, html.theme-skvot .product-custom-cta,
html.theme-skvot .product-specs, html.theme-skvot .checkout-steps, html.theme-skvot .checkout-steps li, html.theme-skvot .ps-phone,
html.theme-skvot .ps-phone__btn, html.theme-skvot .checkout-country-select, html.theme-skvot .checkout-inline-note,
html.theme-skvot .checkout-packaging-icon, html.theme-skvot .checkout-payment-inline, html.theme-skvot .checkout-forwhom,
html.theme-skvot .trk-lookup, html.theme-skvot .co-hero, html.theme-skvot .co-media, html.theme-skvot .co-step, html.theme-skvot .co-step-ic,
html.theme-skvot .co-tip, html.theme-skvot .company-hero, html.theme-skvot .company-hero-point, html.theme-skvot .company-hero-media,
html.theme-skvot .company-process-step, html.theme-skvot details, html.theme-skvot textarea, html.theme-skvot input:not([type="checkbox"]):not([type="radio"]),
html.theme-skvot select {
    border-radius: 0 !important;
}
html.theme-skvot .tf-shop-control, html.theme-skvot .product-main, html.theme-skvot .product-specs, html.theme-skvot .trk-lookup,
html.theme-skvot .co-step, html.theme-skvot .co-tip, html.theme-skvot .company-process-step, html.theme-skvot .checkout-steps {
    border: var(--sk-bd); box-shadow: var(--sk-sh);
}
html.theme-skvot .product-size-btn { border: 2px solid var(--sk-k); font-weight: 800; }
html.theme-skvot .product-size-btn.is-active { background: var(--sk-k); color: var(--sk-y); }
html.theme-skvot .product-thumb.is-active { outline: 3px solid var(--sk-y); border: 2px solid var(--sk-k); }

/* a few pixels of rotated price circles must never turn into a sideways scroll on a phone */
html.theme-skvot, html.theme-skvot body { overflow-x: clip; }

/* header: the last menu word touched the search button at 1440 */
html.theme-skvot .site-header-search { margin-left: 22px; }
@media (min-width: 1200px) and (max-width: 1500px) { html.theme-skvot .tf-header .nav-ul-r, html.theme-skvot .tf-header nav ul { gap: 18px; } }

/* white cards of the original pages (about, contact, login) and the cookie banner: hard border and shadow like everything else */
html.theme-skvot section .p-4.border, html.theme-skvot section .p-4.p-lg-5, html.theme-skvot .login-card,
html.theme-skvot .site-cookie-banner__inner {
    border: var(--sk-bd) !important; border-radius: 0 !important; box-shadow: var(--sk-sh) !important; background: #fff !important;
}

/* =====================================================================
   PRODUCT PAGE as in the approved draft: framed photo with a thumbnail row under it,
   an open right column (tag, giant title, price with a sticker), square pickers
   ===================================================================== */
@media (min-width: 992px) { html.theme-skvot .product-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 560px); gap: 56px; } }
@media (max-width: 991px) { html.theme-skvot .product-layout { grid-template-columns: 1fr; gap: 28px; } }
html.theme-skvot .product-gallery { grid-template-columns: 1fr; }
html.theme-skvot .product-thumbs { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; overflow-y: visible; max-height: none; order: 2; padding: 6px 6px 12px 2px; }
html.theme-skvot .product-thumbs-eyebrow { display: none; }
html.theme-skvot .product-thumb { width: 104px; border: 3px solid var(--sk-k); box-shadow: 3px 3px 0 var(--sk-k); background: #fff; }
html.theme-skvot .product-thumb:hover { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--sk-k); }
html.theme-skvot .product-thumb.is-active { outline: 3px solid var(--sk-b); outline-offset: 2px; box-shadow: 3px 3px 0 var(--sk-k); }
html.theme-skvot .product-thumb.is-active::after { display: none; }
html.theme-skvot .product-main { border: var(--sk-bd); box-shadow: 10px 10px 0 var(--sk-k); background: #fff; }
html.theme-skvot .product-main-counter { border-radius: 0; background: var(--sk-k); color: var(--sk-y); font-family: 'Archivo Black', sans-serif; }

html.theme-skvot .product-panel { border: 0 !important; box-shadow: none !important; background: transparent !important; padding: 0 !important; }
html.theme-skvot .product-panel > p.text-caption-01:first-child {
    display: inline-block; background: var(--sk-y); border: 2px solid var(--sk-k); padding: 3px 10px; margin-bottom: 14px !important;
    font-family: 'Archivo Black', sans-serif; text-transform: uppercase; letter-spacing: .06em; font-size: 11px; color: var(--sk-k) !important;
}
html.theme-skvot .product-panel h1 { font-size: clamp(34px, 4.2vw, 62px); line-height: .96; margin-bottom: 14px !important; }
html.theme-skvot .product-chip { border-radius: 0; background: var(--sk-y); border: 2px solid var(--sk-k); font-family: 'Archivo Black', sans-serif; letter-spacing: .06em; }
html.theme-skvot .product-price { margin: 18px 0 10px; gap: 18px; }
html.theme-skvot .product-price strong { font-family: 'Archivo Black', sans-serif; font-weight: 400; font-size: 56px; color: var(--sk-k); text-transform: uppercase; }
html.theme-skvot .product-price span { font-size: 20px; }
html.theme-skvot .product-sale-badge { border-radius: 50% !important; width: 64px; height: 64px; background: var(--sk-r); color: #111; border: var(--sk-bd); font-family: 'Archivo Black', sans-serif; transform: rotate(10deg); box-shadow: 3px 3px 0 var(--sk-k); }
html.theme-skvot .product-price .sk-only.product-pl-sticker {
    display: inline-grid; place-items: center; text-align: center; width: 84px; height: 84px; border-radius: 50%; background: var(--sk-r); border: var(--sk-bd); color: var(--sk-k);
    font: 400 12px/1.05 'Archivo Black', sans-serif; text-transform: uppercase; transform: rotate(10deg); box-shadow: 3px 3px 0 var(--sk-k); text-decoration: none;
}
html.theme-skvot .product-picker-head .fw-semibold { font-family: 'Archivo Black', sans-serif; font-weight: 400; text-transform: uppercase; font-size: 13px; letter-spacing: .04em; }
html.theme-skvot .product-color-btn { border-radius: 0 !important; width: 46px; height: 46px; border: 3px solid var(--sk-k); background: #fff; }
html.theme-skvot .product-color-btn::after { border-radius: 0 !important; inset: 4px; }
html.theme-skvot .product-color-btn.is-active { outline: 3px solid var(--sk-b); outline-offset: 2px; box-shadow: none; border-color: var(--sk-k); }
html.theme-skvot .product-size-btn { min-width: 54px; height: 46px; padding: 0 14px; border: 3px solid var(--sk-k) !important; background: #fff; font-family: 'Archivo Black', sans-serif; font-weight: 400; }
html.theme-skvot .product-size-btn.is-active { background: var(--sk-y) !important; color: var(--sk-k) !important; }
html.theme-skvot .product-size-btn.is-disabled { background: #f1efe6 !important; color: #b8b5a8 !important; border: 3px dashed #b8b5a8 !important; }
html.theme-skvot .product-status, html.theme-skvot .product-ship-note, html.theme-skvot .delivery-estimate, html.theme-skvot .product-custom-cta, html.theme-skvot .product-specs {
    background: #fff !important; border: 2px solid var(--sk-k) !important; box-shadow: none !important; background-image: none !important;
}
html.theme-skvot .product-status-label { color: var(--sk-k); font-family: 'Archivo Black', sans-serif; font-weight: 400; }
html.theme-skvot .product-status-note { color: #555; }
@media (min-width: 576px) { html.theme-skvot .product-actions { grid-template-columns: 170px minmax(0, 1fr); } }
html.theme-skvot .product-qty { border: 3px solid var(--sk-k) !important; border-radius: 0 !important; background: #fff; }
html.theme-skvot .product-qty button { border-radius: 0; font-family: 'Archivo Black', sans-serif; }
html.theme-skvot .product-actions .tf-btn { box-shadow: 4px 4px 0 var(--sk-k); }
html.theme-skvot .nav-tab-item .tf-btn-tab { border: 3px solid var(--sk-k); background: #fff; padding: 10px 18px; font-family: 'Archivo Black', sans-serif; font-weight: 400; text-transform: uppercase; font-size: 14px; }
html.theme-skvot .nav-tab-item .tf-btn-tab.active, html.theme-skvot .nav-tab-item.active .tf-btn-tab { background: var(--sk-y); color: var(--sk-k); }

/* =====================================================================
   CART as in the draft: a framed list that fits its frame, flat summary
   ===================================================================== */
html.theme-skvot .cart-alert { background: #fff; border: 3px solid var(--sk-k); border-radius: 0; box-shadow: 4px 4px 0 var(--sk-k); color: var(--sk-k); font-weight: 700; }
html.theme-skvot .cart-table-wrap { padding: 14px 24px 4px; }
html.theme-skvot .cart-head, html.theme-skvot .cart-line { grid-template-columns: minmax(0, 1fr) 96px 136px 104px; gap: 16px; }
html.theme-skvot .cart-head p { font-family: 'Archivo Black', sans-serif; font-weight: 400 !important; text-transform: uppercase; font-size: 12px; letter-spacing: .04em; }
html.theme-skvot .cart-line { border-bottom: 2px solid #e6e2d4; }
html.theme-skvot .cart-line:last-child { border-bottom: 0; }
html.theme-skvot .cart-product { grid-template-columns: 84px minmax(0, 1fr); gap: 16px; }
html.theme-skvot .cart-product img { width: 84px; height: 104px; border: 2px solid var(--sk-k); border-radius: 0; background: #fff; }
html.theme-skvot .cart-product-name { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 17px; color: var(--sk-k); margin-bottom: 4px; }
html.theme-skvot .cart-product-meta { color: #6b6a63; font-size: 13px; line-height: 1.5; }
html.theme-skvot .cart-remove-btn { color: var(--sk-k); font-weight: 800; font-size: 13px; }
html.theme-skvot .cart-price, html.theme-skvot .cart-line-total { color: var(--sk-k); font-family: 'Archivo Black', sans-serif; font-weight: 400; }
html.theme-skvot .cart-qty { border: 3px solid var(--sk-k); border-radius: 0; min-height: 48px; padding: 0 4px; }
html.theme-skvot .cart-qty button { border-radius: 0; width: 32px; height: 32px; font-family: 'Archivo Black', sans-serif; }
html.theme-skvot .cart-qty button:hover { background: var(--sk-y); }
html.theme-skvot .cart-summary-card h4, html.theme-skvot .cart-summary-card h3, html.theme-skvot .cart-summary-card h5 { font-family: 'Archivo Black', sans-serif; font-weight: 400; text-transform: uppercase; }
html.theme-skvot .cart-summary-row, html.theme-skvot .cart-summary-total { border-top: 2px solid var(--sk-k); }
html.theme-skvot .cart-summary-bar { height: 12px; border: 2px solid var(--sk-k); border-radius: 0; background: #fff; }
html.theme-skvot .cart-summary-bar span { background: var(--sk-g); }
html.theme-skvot .cart-summary-progress-icon { border-radius: 0 !important; background: var(--sk-g); color: var(--sk-k); border: 2px solid var(--sk-k); }
html.theme-skvot .cart-summary-progress strong { color: var(--sk-k); }

/* =====================================================================
   CHECKOUT: one frame per step, lighter things inside it, the chosen option in yellow
   ===================================================================== */
html.theme-skvot .checkout-method-card, html.theme-skvot .checkout-inline-note, html.theme-skvot .checkout-promo-box, html.theme-skvot .checkout-bonus-box,
html.theme-skvot .checkout-locker-panel, html.theme-skvot .checkout-packaging-card, html.theme-skvot .checkout-material-card, html.theme-skvot .checkout-payment-inline,
html.theme-skvot .checkout-forwhom, html.theme-skvot .checkout-locker-result, html.theme-skvot .checkout-gift-includes {
    box-shadow: none !important; border: 2px solid var(--sk-k) !important; border-radius: 0 !important; background: #fff !important;
}
html.theme-skvot .checkout-method-card.is-selected, html.theme-skvot .checkout-packaging-card.is-selected, html.theme-skvot .checkout-material-card.is-selected,
html.theme-skvot .checkout-locker-result.is-selected { background: var(--sk-y) !important; }
html.theme-skvot .checkout-order-card, html.theme-skvot .box-your-order { box-shadow: var(--sk-sh) !important; }
html.theme-skvot .checkout-eyebrow, html.theme-skvot .checkout-field-label { font-family: 'Archivo Black', sans-serif; font-weight: 400; text-transform: uppercase; letter-spacing: .04em; color: var(--sk-k); font-size: 12px; }
html.theme-skvot .checkout-steps { display: flex; padding: 0; overflow: hidden; background: #fff; }
html.theme-skvot .checkout-steps li { flex: 1; border: 0 !important; border-right: 3px solid var(--sk-k) !important; background: #fff; color: var(--sk-k); font-family: 'Archivo Black', sans-serif; font-weight: 400; text-transform: uppercase; font-size: 12px; padding: 12px 14px; }
html.theme-skvot .checkout-steps li:last-child { border-right: 0 !important; }
html.theme-skvot .checkout-steps li.is-active { background: var(--sk-k); color: var(--sk-y); }
html.theme-skvot .checkout-step-num { border-radius: 0 !important; }
html.theme-skvot .checkout-intro-chip { border-radius: 0 !important; border: 2px solid var(--sk-k); background: var(--sk-g); color: var(--sk-k); font-weight: 800; }

/* links no longer force DM Sans (37 KB): they inherit the page font */
html.theme-skvot a, html.theme-skvot .font-main, html.theme-skvot .hover-tooltip .tooltip { font-family: inherit; }
html.theme-skvot .nav-tab-item { flex: 1 1 auto; }
@media (max-width: 575px) { html.theme-skvot .nav-tab-item, html.theme-skvot .nav-tab-item .tf-btn-tab { white-space: normal; } html.theme-skvot .nav-tab-item .tf-btn-tab { padding: 10px 12px; width: 100%; } }

/* Everything under the first screen of the home is rendered (and its lazy photos fetched) only when it nears the viewport:
   a phone no longer downloads the polaroid wall and the band photos in front of the first paint. */
/* sections stay unrendered (and their lazy photos unfetched) until a small script marks them is-near, 200px before they scroll in */
.skh > section.sk-defer { content-visibility: hidden; contain-intrinsic-size: auto 900px; }
.skh > section.sk-defer.is-near { content-visibility: visible; }

/* Phone hero: the headline is the biggest thing on the first screen, the fan photos a little smaller. The headline is our own text,
   painted with the first frame; a photo from the image host is what the page waited for before it counted as "loaded". */
@media (max-width: 767px) {
    html.theme-skvot .skh .sk-fan { height: 360px; }
    html.theme-skvot .skh .sk-fan a { width: 46%; }
    html.theme-skvot .skh .sk-hero h1 { font-size: clamp(56px, 15.2vw, 66px); }
}

/* the deferral is for phones only: on a desktop the sections are in or next to the first screen, and revealing them after the first paint shifted the page (CLS 0.59) */
@media (min-width: 768px) { .skh > section.sk-defer { content-visibility: visible; } }

/* phone menu: the links were white text on white pills (only the icons showed) */
html.theme-skvot .site-mobile-nav-link { color: var(--sk-k) !important; background: #fff; border: 3px solid var(--sk-k); border-radius: 0; font-family: 'Archivo Black', sans-serif; font-weight: 400; text-transform: uppercase; font-size: 14px; letter-spacing: .02em; }
html.theme-skvot .site-mobile-nav-link.is-active { background: var(--sk-y); color: var(--sk-k) !important; border-color: var(--sk-k); }
html.theme-skvot .site-mobile-nav-link:hover { background: var(--sk-y); }
html.theme-skvot .site-mobile-nav-link i { opacity: 1; color: var(--sk-k); }

/* cart rows: the phone and tablet layouts of the page are restated here, because the poster columns above would otherwise win */
@media (max-width: 1199px) { html.theme-skvot .cart-head, html.theme-skvot .cart-line { grid-template-columns: minmax(0, 1fr) 84px 124px 90px; gap: 12px; } }
@media (max-width: 767px) {
    html.theme-skvot .cart-head { display: none; }
    html.theme-skvot .cart-line { grid-template-columns: 1fr; gap: 14px; }
    html.theme-skvot .cart-product { grid-template-columns: 84px minmax(0, 1fr); }
    html.theme-skvot .cart-line-total { text-align: left; }
    html.theme-skvot .cart-table-wrap { padding: 10px 16px 4px; }
}

/* login modal: the two buttons of the "new customer" card were squeezed side by side */
html.theme-skvot .site-auth-modal-links { display: grid; gap: 10px; }
html.theme-skvot .site-auth-modal-links .tf-btn { width: 100%; justify-content: center; }

/* =====================================================================
   LANDING PAGES (pet portrait, custom orders, company orders) and the error page: poster shapes
   ===================================================================== */
html.theme-skvot .pp-hero, html.theme-skvot .co-hero, html.theme-skvot .company-hero {
    background: var(--sk-k) !important; background-image: none !important; border: var(--sk-bd) !important; border-radius: 0 !important; box-shadow: 10px 10px 0 var(--sk-y) !important;
}
html.theme-skvot .co-hero::before, html.theme-skvot .co-hero::after, html.theme-skvot .pp-hero::before, html.theme-skvot .pp-hero::after,
html.theme-skvot .company-hero::before, html.theme-skvot .company-hero::after { display: none !important; }
html.theme-skvot .pp-eyebrow, html.theme-skvot .co-eyebrow, html.theme-skvot .company-hero-eyebrow, html.theme-skvot .er-code, html.theme-skvot .co-badge,
html.theme-skvot .company-hero .label, html.theme-skvot .co-badge.b1, html.theme-skvot .co-badge.b2, html.theme-skvot .co-badge.b3 {
    border-radius: 0 !important; background: var(--sk-y) !important; color: var(--sk-k) !important; border: 2px solid var(--sk-k) !important;
    font-family: 'Archivo Black', sans-serif !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: .06em;
}
html.theme-skvot .pp-btn, html.theme-skvot .co-btn, html.theme-skvot .pp-submit, html.theme-skvot .co-submit, html.theme-skvot .er-btn {
    border-radius: 0 !important; border: 3px solid var(--sk-k) !important; box-shadow: 4px 4px 0 var(--sk-k); background: var(--sk-y) !important; color: var(--sk-k) !important;
    font-family: 'Archivo Black', sans-serif !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: .02em;
}
html.theme-skvot .co-btn--ghost, html.theme-skvot .er-btn--ghost, html.theme-skvot .pp-btn--ghost { background: #fff !important; }
html.theme-skvot .pp-btn:hover, html.theme-skvot .co-btn:hover, html.theme-skvot .pp-submit:hover, html.theme-skvot .co-submit:hover, html.theme-skvot .er-btn:hover { transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--sk-k); }
html.theme-skvot .pp-step, html.theme-skvot .pp-product, html.theme-skvot .pp-tip, html.theme-skvot .pp-kind, html.theme-skvot .pp-note, html.theme-skvot .pp-drop,
html.theme-skvot figure.pp-s1, html.theme-skvot figure.pp-s2, html.theme-skvot figure.pp-s3, html.theme-skvot .company-hero-point, html.theme-skvot .company-hero-media {
    border-radius: 0 !important; border: 3px solid var(--sk-k) !important; background-image: none;
}
html.theme-skvot .pp-step, html.theme-skvot .pp-product, html.theme-skvot .pp-tip { box-shadow: var(--sk-sh); background: #fff; }
html.theme-skvot .pp-kind { background: #fff; } html.theme-skvot .pp-kind:has(input:checked) { background: var(--sk-y); }
html.theme-skvot .er-code { display: inline-block; padding: 3px 10px; }

/* phone menu, currency and language: the choices were white on white and 45x26 px; now dark, in boxes you can hit with a thumb */
html.theme-skvot .site-mobile-nav-meta-card { background: #fff; border: 3px solid var(--sk-k); border-radius: 0; box-shadow: 4px 4px 0 var(--sk-y); }
html.theme-skvot .site-mobile-nav-meta-card strong { font-family: 'Archivo Black', sans-serif; font-weight: 400; text-transform: uppercase; letter-spacing: .04em; color: var(--sk-k); }
html.theme-skvot .site-mobile-nav-meta-card .site-mobile-nav-inline { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
html.theme-skvot .site-mobile-nav-meta-card .site-mobile-nav-inline span { display: none; }
html.theme-skvot .site-mobile-nav-meta-card .site-mobile-nav-inline a {
    display: flex; align-items: center; justify-content: center; min-height: 48px; border: 3px solid var(--sk-k); background: #fff; color: var(--sk-k) !important;
    font-family: 'Archivo Black', sans-serif; font-weight: 400 !important; text-transform: uppercase; text-decoration: none;
}
html.theme-skvot .site-mobile-nav-meta-card .site-mobile-nav-inline a.fw-bold { background: var(--sk-y); }

/* =====================================================================
   DESKTOP HEADER
   ===================================================================== */
/* the home hero is a <header>: the poster sheet gave it the sticky header's z-index (100), so on the home it painted over the
   currency and country dropdowns, which then showed only as a sliver */
html.theme-skvot .skh .sk-hero { z-index: 0; }

/* chips as square poster buttons; the language switch is two big buttons, the current one in yellow */
html.theme-skvot .site-header-chip { border-radius: 0; border: 2px solid #ffffff66; min-height: 44px; }
html.theme-skvot .site-header-chip:hover, html.theme-skvot .site-header-chip-toggle:hover { border-color: var(--sk-y); }
html.theme-skvot div.site-header-chip { padding: 0; overflow: hidden; gap: 0; display: inline-flex; align-items: stretch; }
html.theme-skvot div.site-header-chip a { display: flex; align-items: center; padding: 0 16px; min-height: 40px; color: #fff !important; font-family: 'Archivo Black', sans-serif; font-weight: 400 !important; text-transform: uppercase; font-size: 12px; letter-spacing: .04em; text-decoration: none; }
html.theme-skvot div.site-header-chip a:hover { background: #ffffff22; }
html.theme-skvot div.site-header-chip a.is-active, html.theme-skvot div.site-header-chip a[aria-current] { background: var(--sk-y); color: var(--sk-k) !important; }
html.theme-skvot .site-header-chip-toggle { min-height: 44px; font-family: 'Archivo Black', sans-serif; font-weight: 400; text-transform: uppercase; font-size: 12px; letter-spacing: .04em; }
html.theme-skvot .site-header-chip-dropdown-menu { z-index: 1200; }
html.theme-skvot .site-header-divider { display: none; }
html.theme-skvot .site-header-chip-dropdown-menu a { border-radius: 0 !important; }

/* Scrolling the home could leave blocks unpainted for a moment (white where the yellow hero should be): the endlessly running
   sticker and ticker repainted the big hero tile. Each now has its own layer, and the hero repaints only inside itself. */
.skh .sk-sticker { will-change: transform; }
.skh .sk-marq > div { will-change: transform; }
.skh .sk-hero { contain: paint; }
@media (prefers-reduced-motion: reduce) { .skh .sk-sticker, .skh .sk-marq > div { animation: none !important; } }

/* ---------- the heart: save for later (cards and product page) ---------- */
.ps-heart { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; background: #fff; color: var(--sk-k); border: var(--sk-bd); cursor: pointer; box-shadow: 3px 3px 0 var(--sk-k); transition: transform .15s, box-shadow .15s, background .15s; }
.ps-heart:hover { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--sk-k); }
.ps-heart[aria-pressed="true"] { background: var(--sk-y); }
.ps-heart[aria-pressed="true"] svg path { fill: var(--sk-r); }
.ps-heart:disabled { opacity: .6; cursor: wait; }
/* bottom-right of the card, under the picture: the price bubble owns the top-right corner */
.shop-card .ps-heart, .shop-card-wrapper .ps-heart { position: absolute; right: 12px; top: 76px; bottom: auto; z-index: 12; width: 40px; height: 40px; }
html.theme-skvot .shop-card .shop-card-name { padding-right: 50px; }
.shop-card-wrapper { position: relative; }
html.theme-skvot .product-actions .ps-heart { width: 100%; height: 100%; min-height: 52px; }
@media (min-width: 576px) { html.theme-skvot .product-actions { grid-template-columns: 170px minmax(0, 1fr) 56px; } }
@media (max-width: 575px) { html.theme-skvot .product-actions .ps-heart { grid-column: 1 / -1; height: 52px; } }
/* the shop heading is a paragraph styled like a small heading (a real h5 under the h1 breaks the heading order) */
html.theme-skvot p.h5 { font-family: 'Archivo', sans-serif; font-weight: 800; }

/* ---------- "together cheaper": the bundle offers under the product ---------- */
html.theme-skvot .pd-bundles { margin-top: 8px; }
html.theme-skvot .pd-bundles__head { display: flex; align-items: baseline; gap: 12px; margin-bottom: 18px; }
html.theme-skvot .pd-bundles__head h2 { font-family: 'Archivo Black', sans-serif; font-weight: 400; text-transform: uppercase; font-size: clamp(26px, 4vw, 40px); line-height: 1; margin: 0; color: var(--sk-k); }
html.theme-skvot .pd-bundles__count { font-weight: 800; font-size: 13px; background: var(--sk-k); color: var(--sk-y); padding: 4px 10px; }
html.theme-skvot .pd-bundle { display: flex; flex-direction: column; gap: 16px; height: 100%; padding: 16px; background: #fff; border: var(--sk-bd); box-shadow: var(--sk-sh); }
html.theme-skvot .pd-bundle__pics { display: flex; align-items: center; gap: 10px; }
html.theme-skvot .pd-bundle__pic { flex: 1; aspect-ratio: 1 / 1; overflow: hidden; border: var(--sk-bd); background: #f5efe5; }
html.theme-skvot .pd-bundle__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
html.theme-skvot .pd-bundle__plus { font-family: 'Archivo Black', sans-serif; font-size: 30px; line-height: 1; color: var(--sk-k); }
html.theme-skvot .pd-bundle__label { display: inline-block; align-self: flex-start; background: var(--sk-y); border: 2px solid var(--sk-k); font: 800 11px/1 'Archivo', sans-serif; letter-spacing: .08em; text-transform: uppercase; padding: 5px 8px; transform: rotate(-1.5deg); }
html.theme-skvot .pd-bundle__names { font-weight: 800; font-size: 17px; line-height: 1.25; margin: 8px 0 4px; color: var(--sk-k); }
html.theme-skvot .pd-bundle__link { font-weight: 700; font-size: 14px; text-decoration: underline; color: var(--sk-k); }
html.theme-skvot .pd-bundle__foot { margin-top: auto; display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
html.theme-skvot .pd-bundle__was { font-size: 13px; color: #6b6753; text-decoration: line-through; }
html.theme-skvot .pd-bundle__price { font-family: 'Archivo Black', sans-serif; font-size: 26px; line-height: 1.1; color: var(--sk-k); }
html.theme-skvot .pd-bundle__save { display: inline-block; margin-top: 4px; background: var(--sk-g); border: 2px solid var(--sk-k); font: 800 12px/1 'Archivo', sans-serif; padding: 4px 8px; color: var(--sk-k); }
