/* ==========================================================================
   Shop (SureCart). Poolside palette: navy structure, orange only for money
   (prices, Add to bag, Pay). Orange text uses #B8410F, which passes contrast
   on the paper and white grounds; #F15D22 is kept for filled buttons.
   ========================================================================== */

body {
	--sc-color-primary-500: #F15D22;
	--sc-color-primary-600: #D94E17;
	--sc-color-primary-900: #7A2A0A;
	--sc-color-primary-text: #FFFFFF;
	--sc-font-family: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif;
	--sc-input-border-radius-small: 10px;
	--sc-input-border-radius-medium: 12px;
	--sc-input-border-radius-large: 12px;
	--sc-border-radius-small: 8px;
	--sc-border-radius-medium: 14px;
	--sc-button-font-size-large: 15px;
	--sc-button-link-color: #0C4E91;
}

.psc-shop-display,
.wp-block-surecart-product-title,
.psc-shop-card .wp-block-surecart-product-title a {
	font-family: 'Archivo', 'Helvetica Neue', Arial, sans-serif;
	letter-spacing: -0.02em;
}

/* ------------------------------------------------------------------ hero */

.psc-shop-hero { position: relative; overflow: hidden; isolation: isolate; }
.psc-shop-hero::before,
.psc-shop-hero::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; z-index: 0; }
.psc-shop-hero::before { top: -200px; left: -160px; width: 520px; height: 520px; background: rgba(73,195,208,.26); }
.psc-shop-hero::after { bottom: -170px; right: 30%; width: 300px; height: 300px; background: rgba(193,216,54,.34); }
.psc-shop-hero > .kt-row-column-wrap { position: relative; z-index: 1; }
.psc-shop-hero h1 .psc-navy { color: #0C4E91; }

.psc-shop-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.psc-shop-ctas a {
	display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px;
	border-radius: 999px; font-family: 'Archivo', Arial, sans-serif; font-size: 12.5px; font-weight: 700;
	letter-spacing: .14em; text-transform: uppercase; text-decoration: none; box-sizing: border-box;
}
.psc-shop-ctas a.is-navy { background: #0C4E91; color: #FFFFFF; }
.psc-shop-ctas a.is-navy:hover { background: #093B6E; color: #FFFFFF; }
.psc-shop-ctas a.is-outline { border: 1.5px solid #0C4E91; color: #0C4E91; }
.psc-shop-ctas a.is-outline:hover { background: #0C4E91; color: #FFFFFF; }

.psc-shop-mark { display: flex; align-items: center; justify-content: center; position: relative; min-height: 360px; margin: 0; }
.psc-shop-mark::before { content: ""; position: absolute; width: 340px; height: 340px; border-radius: 50%; background: #FFFFFF; box-shadow: 0 30px 60px -30px rgba(12,78,145,.35); }
.psc-shop-mark svg { position: relative; width: 220px; height: 220px; }

/* ------------------------------------------------------- section wrappers */

.psc-shop-section { max-width: 1200px; margin-left: auto !important; margin-right: auto !important; padding: 56px 24px; box-sizing: border-box; }
.psc-shop-section > * { margin-top: 0; }
.psc-shop-band { padding-left: 24px; padding-right: 24px; }
.psc-shop-band > .psc-shop-section { padding-left: 0; padding-right: 0; }
.psc-shop-sand { background: #E7DFD2; }
.psc-shop-lime { background: #C1D836; }
.psc-shop-eyebrow {
	margin: 0 0 12px; font-family: 'Archivo', Arial, sans-serif; font-size: 11px; font-weight: 700;
	letter-spacing: .14em; text-transform: uppercase; color: #0C4E91;
}
.psc-shop-lime .psc-shop-eyebrow { color: #2C3400; }
.psc-shop-h2 { margin: 0 0 14px; font-family: 'Archivo', Arial, sans-serif; font-size: clamp(30px, 4vw, 44px); font-weight: 800; line-height: 1.04; letter-spacing: -0.02em; color: #10192A; text-wrap: balance; }
.psc-shop-lead { margin: 0; max-width: 560px; font-size: 16.5px; line-height: 1.6; color: #31404F; }
.psc-shop-social { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 0; }
.psc-shop-social a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; background: #FFFFFF; color: #10192A; font-weight: 600; text-decoration: none; }
.psc-shop-social a:hover { background: #0C4E91; color: #FFFFFF; }

/* ------------------------------------------------------------ product list */

.psc-shop-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 22px; margin-bottom: 30px; border-bottom: 1px solid rgba(16,25,42,.12); }
.psc-shop-chips .wp-block-surecart-product-list-filter-checkboxes-template,
.psc-shop-chips > div { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 8px !important; }
.psc-shop-chips label {
	display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border: 1px solid rgba(16,25,42,.14);
	border-radius: 999px; background: #FFFFFF; font-size: 14px; font-weight: 600; color: #10192A; cursor: pointer;
}
.psc-shop-chips label:has(input:checked) { background: #10192A; border-color: #10192A; color: #FFFFFF; }
.psc-shop-chips input[type="checkbox"] { position: absolute; opacity: 0; width: 1px; height: 1px; }
.psc-shop-chips label:has(input:focus-visible) { outline: 3px solid #49C3D0; outline-offset: 2px; }

.psc-shop-grid.wp-block-surecart-product-template,
.psc-shop-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 44px 26px !important; }
.psc-shop-related .psc-shop-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 1024px) { .psc-shop-grid, .psc-shop-related .psc-shop-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 767px) { .psc-shop-grid, .psc-shop-related .psc-shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 28px 14px !important; } }

.psc-shop-card { display: flex; flex-direction: column; gap: 10px; }
.psc-shop-card .wp-block-cover { min-height: 0 !important; aspect-ratio: 1; border-radius: 18px; overflow: hidden; background: #E9F5F7; margin: 0 0 4px; }
.psc-shop-card .wp-block-cover img { transition: transform .5s ease; }
.psc-shop-card:hover .wp-block-cover img { transform: scale(1.03); }
@media (prefers-reduced-motion: reduce) { .psc-shop-card .wp-block-cover img { transition: none; } }
.psc-shop-card .wp-block-surecart-product-collection-tags { margin: 0; font-family: 'Archivo', Arial, sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #5E6878; }
.psc-shop-card .wp-block-surecart-product-title { margin: 0 !important; font-size: 19px !important; font-weight: 700 !important; line-height: 1.2; }
.psc-shop-card .wp-block-surecart-product-title a { color: #10192A; text-decoration: none; }
.psc-shop-card .wp-block-surecart-product-title a:hover { color: #0C4E91; }
.psc-shop-card .wp-block-surecart-product-list-price { color: #B8410F; font-weight: 700; font-variant-numeric: tabular-nums; }
.psc-shop-card .wp-block-surecart-product-scratch-price { color: #5E6878; text-decoration: line-through; }

.psc-shop-empty { max-width: 560px; margin: 8px auto 0; padding: 40px 32px; text-align: center; background: #FFFFFF; border: 1px solid rgba(16,25,42,.12); border-radius: 22px; }
.psc-shop-empty p { margin: 0 0 10px; color: #31404F; font-size: 16px; line-height: 1.6; }
.psc-shop-empty p.psc-shop-empty-title { font-family: 'Archivo', Arial, sans-serif; font-size: 26px; font-weight: 800; color: #10192A; letter-spacing: -0.02em; }
.psc-shop-empty a { font-weight: 700; }

/* ------------------------------------------------------------ promises */

.psc-shop-promises { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.psc-shop-promises:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.psc-shop-promises:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 900px) { .psc-shop-promises { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 560px) { .psc-shop-promises { grid-template-columns: minmax(0, 1fr) !important; gap: 18px; } }
.psc-shop-promise { display: flex; gap: 14px; align-items: flex-start; }
.psc-shop-promise-icon { color: #0C4E91; flex-shrink: 0; }
.psc-shop-promise p { margin: 0; }
.psc-shop-promise-title { font-family: 'Archivo', Arial, sans-serif; font-size: 17px; font-weight: 700; color: #10192A; line-height: 1.3; }
.psc-shop-promise-text { margin-top: 4px !important; font-size: 14px; line-height: 1.5; color: #4A5666; }

.psc-shop-promises.is-compact { grid-template-columns: minmax(0, 1fr) !important; gap: 12px; padding-top: 18px; border-top: 1px solid rgba(16,25,42,.12); }
.psc-shop-promises.is-compact .psc-shop-promise-icon svg { width: 20px; height: 20px; }
.psc-shop-promises.is-compact .psc-shop-promise-title { font-family: inherit; font-size: 14.5px; font-weight: 700; }
.psc-shop-promises.is-compact .psc-shop-promise-text { font-size: 13.5px; }

.psc-shop-delivery { display: flex; gap: 12px; align-items: flex-start; padding: 16px 18px; background: #E9F5F7; border-radius: 16px; color: #0C4E91; }
.psc-shop-delivery svg { flex-shrink: 0; width: 20px; height: 20px; margin-top: 2px; }
.psc-shop-delivery p { margin: 0; font-size: 14.5px; line-height: 1.5; color: #31404F; }
.psc-shop-delivery strong { color: #10192A; }

.psc-shop-adminnote { margin: 10px 0 0; padding: 10px 14px; border: 1.5px dashed #B8410F; border-radius: 10px; font-size: 13px; color: #7A2A0A; background: rgba(241,93,34,.06); }

/* ------------------------------------------------------------ product page */

.single-sc_product .content-bg,
.single-sc_product .site { background: #FBF8F3; }
.wp-block-surecart-product-page .wp-block-surecart-product-title { font-size: clamp(34px, 4.2vw, 52px) !important; font-weight: 800; line-height: 1.02; margin: 0; color: #10192A; }
.wp-block-surecart-product-page .wp-block-surecart-product-selected-price-amount { font-family: 'Archivo', Arial, sans-serif; font-size: 28px !important; font-weight: 700; color: #B8410F; font-variant-numeric: tabular-nums; }
.wp-block-surecart-product-page .wp-block-surecart-product-collection-tags { font-family: 'Archivo', Arial, sans-serif; font-size: 10.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.wp-block-surecart-product-page .wp-block-surecart-product-description { font-size: 16.5px; line-height: 1.6; color: #31404F; }
.wp-block-surecart-product-page .wp-block-surecart-product-media img { border-radius: 24px; background: #E9F5F7; }
.wp-block-surecart-product-page .wp-block-button__link,
.wp-block-surecart-product-page .sc-button,
.wp-block-surecart-product-page button.wp-block-button__link {
	min-height: 56px; border-radius: 999px !important; font-family: 'Archivo', Arial, sans-serif; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; font-size: 13px;
}
.wp-block-surecart-product-page .wp-block-surecart-product-variant-pills { gap: 10px; }
.wp-block-surecart-product-variant-pill { min-width: 60px; min-height: 48px; border-radius: 12px !important; font-weight: 600; }
.wp-block-surecart-product-variant-pill.sc-pill-option__selected,
.wp-block-surecart-product-variant-pill[aria-checked="true"] { background: #10192A !important; border-color: #10192A !important; color: #FFFFFF !important; }

.single-sc_product .wp-block-surecart-product-review-list h2,
.single-sc_product .wp-block-surecart-product-list-related h3 { font-family: 'Archivo', Arial, sans-serif; font-weight: 800; letter-spacing: -0.02em; color: #10192A; }

/* ------------------------------------------------------------ slide-out bag */

.wp-block-surecart-slide-out-cart { font-family: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif; background: #FBF8F3; }
.wp-block-surecart-slide-out-cart .wp-block-surecart-cart-line-item-amount { color: #10192A; font-variant-numeric: tabular-nums; }
.wp-block-surecart-slide-out-cart .wp-block-surecart-slide-out-cart-items-submit a,
.wp-block-surecart-slide-out-cart .wp-block-surecart-slide-out-cart-items-submit button { min-height: 56px; border-radius: 999px !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

/* ------------------------------------------------------------ checkout */

.wp-block-surecart-columns sc-order-submit,
sc-order-submit { --sc-button-border-radius: 999px; }
sc-order-summary { font-variant-numeric: tabular-nums; }

/* ------------------------------------------------------------ phones */

@media (max-width: 767px) {
	.psc-shop-hero::before { width: 380px; height: 380px; top: -180px; left: -180px; }
	.psc-shop-hero::after { display: none; }
	.psc-shop-mark { min-height: 240px; }
	.psc-shop-mark::before { width: 220px; height: 220px; }
	.psc-shop-mark svg { width: 140px; height: 140px; }
	.psc-shop-section { padding: 40px 16px; }
	.psc-shop-card .wp-block-surecart-product-title { font-size: 16px !important; }
}

/* ------------------------------------------------- header: shop and bag */

.psc-navshop { display: flex; align-items: center; gap: 14px; }
.psc-navshop a,
.psc-navshop .wp-block-surecart-cart-menu-icon-button {
	display: inline-flex; align-items: center; justify-content: center; position: relative;
	width: 40px; height: 40px; color: #10192A; text-decoration: none; cursor: pointer;
}
.psc-navshop a:hover,
.psc-navshop .wp-block-surecart-cart-menu-icon-button:hover { color: #0C4E91; }
.psc-navshop a:focus-visible,
.psc-navshop .wp-block-surecart-cart-menu-icon-button:focus-visible { outline: 3px solid #49C3D0; outline-offset: 2px; border-radius: 8px; }
.psc-navshop svg { width: 22px; height: 22px; }
.psc-navshop .sc-cart-count {
	--sc-cart-icon-counter-background: #F15D22;
	--sc-cart-icon-counter-color: #FFFFFF;
	font-family: 'Archivo', Arial, sans-serif;
}
.psc-nowrap { white-space: nowrap; }

/* Money actions stay orange: Kadence's global button colour is navy, and the
   buy button inherits it unless it is named here. */
.wp-block-surecart-product-buy-buttons .wp-block-button__link,
.wp-block-surecart-product-buy-buttons button,
.wp-block-surecart-product-buy-button {
	background: #F15D22 !important;
	border-color: #F15D22 !important;
	color: #FFFFFF !important;
}
.wp-block-surecart-product-buy-buttons .wp-block-button__link:hover,
.wp-block-surecart-product-buy-buttons button:hover,
.wp-block-surecart-product-buy-button:hover { background: #D94E17 !important; border-color: #D94E17 !important; }
/* The bag sits beside search; its count badge is SureCart's own. */
