/*
Theme Name: Glen&#039;s Pawn Shop
Author: 
Description: Your description goes here
Version: 1.0
Template: astra

This is the child theme for Astra theme, generated with Generate Child Theme plugin by catchthemes.

(optional values you can add: Theme URI, Author URI, License, License URI, Tags, Text Domain)
*/
/* =========================================================================
   Glen's Community Pawn – child theme styles  ("After Hours" direction)

   Paste everything below the existing theme header comment in the
   Glen's Pawn Shop child theme's style.css. The @import line must sit
   directly under that header comment, before any other rule.

   Contents
     1. Brand tokens (colours + fonts)
     2. Global base – every page, including non-Elementor pages/posts
     3. Global components – the gp-* classes used in Elementor templates
     4. Header
     5. Footer
     6. Homepage sections

   Breakpoints match Elementor: tablet ≤ 1024px, mobile ≤ 767px.
   ========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Alfa+Slab+One&family=Barlow+Condensed:wght@500;600;700&family=Barlow:wght@400;500;600&display=swap');


/* =========================================================================
   1. BRAND TOKENS
   Colours follow Elementor → Site Settings → Global Colors once the brand
   setup has run (see functions.php); the hex values are the fallbacks.
   Fonts are changed here.
   ========================================================================= */
body {
	--gp-midnight: var(--e-global-color-gpmidnt, #13100D);  /* Midnight Oak   – main background    */
	--gp-bourbon:  var(--e-global-color-gpbourb, #1C1712);  /* Bourbon Barrel – alt background     */
	--gp-amber:    var(--e-global-color-gpamber, #E8A33D);  /* Marquee Amber  – accents, strip     */
	--gp-ice:      var(--e-global-color-gpice,   #8FD8EE);  /* Neon Ice       – links, outlines    */
	--gp-red:      var(--e-global-color-gpred,   #D9432F);  /* Rodeo Red      – primary buttons    */
	--gp-cream:    var(--e-global-color-gpcream, #F3E9D6);  /* Bone Cream     – headings, light bg */
	--gp-muted:    var(--e-global-color-gpmuted, #B5A895);  /* body copy on dark                   */
	--gp-ink-soft: var(--e-global-color-gpinksf, #5E4F41);  /* body copy on cream                  */
	--gp-line:     var(--e-global-color-gpline,  #3A2F27);  /* hairlines on dark                   */
	--gp-line-dark: #2A221C;
	--gp-red-hover: #E5523D;
	--gp-amber-hover: #F1B456;

	--gp-font-display: 'Alfa Slab One', Georgia, serif;               /* headlines        */
	--gp-font-label:   'Barlow Condensed', 'Arial Narrow', sans-serif; /* eyebrows, buttons */
	--gp-font-body:    'Barlow', 'Helvetica Neue', Arial, sans-serif;  /* body copy         */
}


/* =========================================================================
   2. GLOBAL BASE – applies site-wide (blog posts, default pages, etc.)
   ========================================================================= */
html { scroll-behavior: smooth; }

body {
	background-color: var(--gp-midnight);
	color: var(--gp-muted);
	font-family: var(--gp-font-body);
}

/* Regular WordPress content (non-Elementor pages and posts) */
.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content h5, .entry-content h6,
.entry-title, .page-title {
	font-family: var(--gp-font-display);
	font-weight: 400;
	color: var(--gp-cream);
}
.entry-content a { color: var(--gp-ice); }
.entry-content a:hover { color: var(--gp-amber); }

.wp-block-button__link,
.ast-button,
.ast-custom-button,
input[type="submit"] {
	font-family: var(--gp-font-label);
	font-weight: 600;
	text-transform: uppercase;
	background-color: var(--gp-red);
	border-color: var(--gp-red);
	color: var(--gp-cream);
	border-radius: 4px;
}
.wp-block-button__link:hover,
.ast-button:hover,
.ast-custom-button:hover,
input[type="submit"]:hover {
	background-color: var(--gp-red-hover);
	border-color: var(--gp-red-hover);
	color: #fff;
}

.entry-content input[type="text"],
.entry-content input[type="email"],
.entry-content input[type="tel"],
.entry-content textarea,
.entry-content select {
	background-color: #0F0C0A;
	border: 1px solid var(--gp-line);
	color: var(--gp-cream);
}

::selection { background: var(--gp-amber); color: var(--gp-midnight); }


/* =========================================================================
   3. GLOBAL COMPONENTS – gp-* classes on Elementor containers/widgets
   Usable on any page: add the class under Advanced → CSS Classes.
   ========================================================================= */

/* ---------- spacing resets -------------------------------------------- */
.elementor .gp-sec { scroll-margin-top: 16px; }
.elementor .gp-sec .elementor-widget:not(:last-child) { margin-bottom: 0; }
.elementor .gp-sec .elementor-widget-text-editor p { margin: 0 0 1em; }
.elementor .gp-sec .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor .gp-sec a:not(.elementor-button) { color: inherit; }
.elementor .gp-sec .elementor-widget a { text-decoration: none; }  /* Astra underlines content links */
.elementor .gp-sec .gp-rule-top { border-top: 1px solid var(--gp-line); }

/* ---------- type ------------------------------------------------------ */
/* gp-eyebrow (small caps label), --cyan, --dark */
.elementor .gp-sec .gp-eyebrow .elementor-heading-title {
	font-family: var(--gp-font-label);
	font-weight: 600;
	font-size: 15px;
	line-height: 1.3;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--gp-amber);
}
.elementor .gp-sec .gp-eyebrow--cyan .elementor-heading-title { color: var(--gp-ice); }
.elementor .gp-sec .gp-eyebrow--dark .elementor-heading-title { color: var(--gp-ink-soft); }

/* gp-h1 (page headline; wrap words in <span class="gp-amber"> for amber) */
.elementor .gp-sec .gp-h1 .elementor-heading-title {
	max-width: 560px;
	font-family: var(--gp-font-display);
	font-weight: 400;
	font-size: 76px;
	line-height: 1.07;
	letter-spacing: 0;
	text-transform: none;
	color: var(--gp-cream);
}
.elementor .gp-sec .gp-h1 .gp-amber,
.elementor .gp-sec .gp-h2 .gp-amber { color: var(--gp-amber); }

/* gp-h2 (section headline), --dark (on light backgrounds), --sm */
.elementor .gp-sec .gp-h2 .elementor-heading-title {
	font-family: var(--gp-font-display);
	font-weight: 400;
	font-size: 48px;
	line-height: 1.08;
	letter-spacing: 0;
	text-transform: none;
	color: var(--gp-cream);
}
.elementor .gp-sec .gp-h2--dark .elementor-heading-title { color: var(--gp-midnight); }
.elementor .gp-sec .gp-h2--sm .elementor-heading-title { font-size: 40px; }

/* gp-card-title ("01 / PAWN"), gp-kicker ("LOAN ON IT"), gp-item-title */
.elementor .gp-sec .gp-card-title .elementor-heading-title {
	font-family: var(--gp-font-display);
	font-weight: 400;
	font-size: 32px;
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--gp-amber);
}
.elementor .gp-sec .gp-kicker .elementor-heading-title {
	font-family: var(--gp-font-label);
	font-weight: 600;
	font-size: 17px;
	text-transform: uppercase;
	color: var(--gp-cream);
}
.elementor .gp-sec .gp-item-title .elementor-heading-title {
	font-family: var(--gp-font-body);
	font-weight: 500;
	font-size: 24px;
	line-height: 1.25;
	text-transform: none;
	color: var(--gp-cream);
}

/* gp-text (body copy), --light, --dark, --ink, gp-small */
.elementor .gp-sec .gp-text,
.elementor .gp-sec .elementor-widget-text-editor {
	font-family: var(--gp-font-body);
	font-weight: 400;
	font-size: 17px;
	line-height: 1.32;
	color: var(--gp-muted);
}
.elementor .gp-sec .gp-text--light { color: var(--gp-cream); }
.elementor .gp-sec .gp-text--dark { color: var(--gp-ink-soft); }
.elementor .gp-sec .gp-text--ink { color: var(--gp-midnight); font-size: 18px; }
.elementor .gp-sec .gp-small { font-size: 17px; }

/* gp-link – arrow text link ("How pawn works →") */
.elementor .gp-sec .gp-link .elementor-heading-title,
.elementor .gp-sec .gp-link .elementor-heading-title a {
	font-family: var(--gp-font-label);
	font-weight: 600;
	font-size: 19px;
	text-transform: uppercase;
	color: var(--gp-ice);
	transition: color .2s;
}
.elementor .gp-sec .gp-link .elementor-heading-title a:hover { color: var(--gp-cream); }

/* gp-quote + gp-cite */
.elementor .gp-sec .gp-quote { border-left: 3px solid var(--gp-amber); }
.elementor .gp-sec .gp-quote-text {
	font-size: 22px;
	line-height: 1.25;
	color: var(--gp-cream);
}
.elementor .gp-sec .gp-cite .elementor-heading-title {
	font-family: var(--gp-font-label);
	font-weight: 600;
	font-size: 16px;
	text-transform: uppercase;
	color: var(--gp-amber);
}

/* ---------- buttons: gp-btn + --red / --outline / --amber -------------- */
.elementor .gp-sec .gp-btn { flex-shrink: 0; }
.elementor .gp-sec .gp-btn .elementor-button {
	font-family: var(--gp-font-label);
	font-weight: 600;
	font-size: 19px;
	line-height: 1;
	letter-spacing: 0;
	text-transform: uppercase;
	white-space: nowrap;
	padding: 17px 31px;
	border: 2px solid transparent;
	border-radius: 4px;
	box-shadow: none;
	transition: background-color .2s, color .2s, box-shadow .2s, border-color .2s;
}
.elementor .gp-sec .gp-btn--red .elementor-button {
	background-color: var(--gp-red);
	border-color: var(--gp-red);
	color: var(--gp-cream);
}
.elementor .gp-sec .gp-btn--red .elementor-button:hover,
.elementor .gp-sec .gp-btn--red .elementor-button:focus-visible {
	background-color: var(--gp-red-hover);
	border-color: var(--gp-red-hover);
	color: #fff;
	box-shadow: 0 0 22px rgba(217, 67, 47, .55);
}
.elementor .gp-sec .gp-btn--outline .elementor-button {
	background-color: transparent;
	border-color: var(--gp-ice);
	color: var(--gp-ice);
	box-shadow: 0 0 10px rgba(143, 216, 238, .25), inset 0 0 6px rgba(143, 216, 238, .15);
}
.elementor .gp-sec .gp-btn--outline .elementor-button:hover,
.elementor .gp-sec .gp-btn--outline .elementor-button:focus-visible {
	background-color: rgba(143, 216, 238, .1);
	color: var(--gp-cream);
	box-shadow: 0 0 20px rgba(143, 216, 238, .45);
}
.elementor .gp-sec .gp-btn--amber .elementor-button {
	padding: 17px 39px;
	background-color: var(--gp-amber);
	border-color: var(--gp-amber);
	border-radius: 0;
	color: var(--gp-midnight);
}
.elementor .gp-sec .gp-btn--amber .elementor-button:hover {
	background-color: var(--gp-amber-hover);
	border-color: var(--gp-amber-hover);
	box-shadow: 0 0 22px rgba(232, 163, 61, .45);
}

/* ---------- brand SVG icons (HTML widgets with inline SVG) ------------ */
.elementor .gp-sec .gp-svg { flex-shrink: 0; line-height: 0; }
.elementor .gp-sec .gp-svg svg { display: block; width: 100%; height: auto; }
.elementor .gp-sec .gp-icon-box {
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
}
.elementor .gp-sec .gp-icon-box .gp-svg { width: 100%; }
.elementor .gp-sec .gp-svg--emblem svg { width: 100%; height: 100%; }
.elementor .gp-sec .gp-icon-box .gp-svg--outline { width: 32px; }  /* house icon has no box */

/* Elementor Icon widgets, if you add any (gp-icon) */
.elementor .gp-sec .gp-icon .elementor-icon { font-size: 28px; line-height: 1; }
.elementor .gp-sec .gp-icon .elementor-icon,
.elementor .gp-sec .gp-icon .elementor-icon svg { color: var(--gp-amber); fill: var(--gp-amber); }

/* ---------- cards ------------------------------------------------------ */
.elementor .gp-sec .gp-card { border: 1px solid var(--gp-line); }
.elementor .gp-sec .gp-card .gp-kicker { margin-top: 12px; }
.elementor .gp-sec .gp-card .elementor-widget-text-editor { flex-grow: 1; }
.elementor .gp-sec .gp-card-link {
	margin-top: 8px;
	padding-top: 24px;
	border-top: 1px solid var(--gp-line);
}

/* ---------- section heading row (title left, aside/button right) ------- */
.elementor .gp-sec .gp-head-aside .elementor-heading-title { text-align: right; }

/* ---------- accessibility --------------------------------------------- */
.elementor .gp-sec a:focus-visible,
.elementor .gp-sec button:focus-visible,
.elementor .gp-sec .elementor-button:focus-visible {
	outline: 2px solid var(--gp-ice);
	outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.elementor .gp-sec * { transition: none !important; }
}

@media (max-width: 1024px) {
	.elementor .gp-sec .gp-h1 .elementor-heading-title { font-size: 60px; }
	.elementor .gp-sec .gp-h2 .elementor-heading-title { font-size: 40px; }
	.elementor .gp-sec .gp-card-title .elementor-heading-title { font-size: 26px; }
	.elementor .gp-sec .gp-card { padding: 28px 24px; }
}
@media (max-width: 767px) {
	.elementor .gp-sec .gp-h1 .elementor-heading-title { font-size: 44px; line-height: 1.08; }
	.elementor .gp-sec .gp-h2 .elementor-heading-title,
	.elementor .gp-sec .gp-h2--sm .elementor-heading-title { font-size: 32px; }
	.elementor .gp-sec .gp-text,
	.elementor .gp-sec .elementor-widget-text-editor { font-size: 16px; }
	.elementor .gp-sec .gp-item-title .elementor-heading-title { font-size: 21px; }
	.elementor .gp-sec .gp-quote-text { font-size: 19px; }
	.elementor .gp-sec .gp-btn .elementor-button { font-size: 18px; padding: 16px 24px; }
	.elementor .gp-sec .gp-head-aside .elementor-heading-title { text-align: left; }
	.elementor .gp-sec .gp-icon-box { flex-basis: 48px; width: 48px; height: 48px; }
}


/* =========================================================================
   4. HEADER – "Glens Global Header" template (output by functions.php)
   Solid on inner pages; overlays the hero photo on the homepage.
   Menu links come from Appearance → Menus → Primary Menu.
   ========================================================================= */
.gp-site-header-wrap {
	position: relative;
	z-index: 99;
	background-color: var(--gp-midnight);
}
body.home { position: relative; }
body.home .gp-site-header-wrap {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background-color: transparent;
}

.elementor .gp-site-header .gp-logo img {
	width: 150px;
	height: auto;
	max-width: none;
}
.elementor .gp-site-header .gp-nav { width: auto; }
.elementor .gp-sec .gp-btn--phone .elementor-button { padding: 16px 30px; }

/* menu */
.gp-menu-wrap { position: relative; }
.gp-menu {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}
.gp-menu li { position: relative; margin: 0; }
.gp-menu--header { gap: 36px; }
.elementor .gp-sec .gp-menu--header a {
	display: block;
	font-family: var(--gp-font-label);
	font-weight: 500;
	font-size: 19px;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--gp-cream);
	transition: color .2s;
}
.elementor .gp-sec .gp-menu--header a:hover { color: var(--gp-amber); }

/* dropdowns (if you nest items in Appearance → Menus) */
.gp-menu--header .sub-menu {
	position: absolute;
	top: 100%;
	left: -18px;
	display: none;
	min-width: 220px;
	margin: 0;
	padding: 12px 0;
	list-style: none;
	background-color: var(--gp-bourbon);
	border: 1px solid var(--gp-line);
}
.gp-menu--header li:hover > .sub-menu,
.gp-menu--header li:focus-within > .sub-menu { display: block; }
.elementor .gp-sec .gp-menu--header .sub-menu a { padding: 8px 18px; font-size: 17px; }

/* hamburger (phones only) */
.gp-burger {
	display: none;
	width: 48px;
	height: 48px;
	padding: 13px 11px;
	background: transparent;
	border: 2px solid var(--gp-ice);
	border-radius: 4px;
	cursor: pointer;
}
.gp-burger span {
	display: block;
	height: 2px;
	margin: 0 0 6px;
	background-color: var(--gp-ice);
	transition: transform .2s, opacity .2s;
}
.gp-burger span:last-child { margin-bottom: 0; }
.gp-menu-wrap.is-open .gp-burger span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.gp-menu-wrap.is-open .gp-burger span:nth-child(2) { opacity: 0; }
.gp-menu-wrap.is-open .gp-burger span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

@media (max-width: 1024px) {
	.elementor .gp-site-header .gp-logo img { width: 120px; }
	.gp-menu--header { gap: 22px; }
	.elementor .gp-sec .gp-menu--header a { font-size: 17px; }
}
@media (max-width: 767px) {
	.elementor .gp-site-header .gp-logo img { width: 88px; }
	.elementor .gp-site-header .gp-menu-slot--header { order: 2; }
	.elementor .gp-sec .gp-btn--phone .elementor-button { padding: 13px 16px; font-size: 17px; }

	.gp-burger { display: block; }
	.gp-menu-wrap--header .gp-menu {
		position: absolute;
		top: calc(100% + 14px);
		right: 0;
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: min(320px, calc(100vw - 40px));
		padding: 8px 0;
		background-color: var(--gp-bourbon);
		border: 1px solid var(--gp-line);
		box-shadow: 0 18px 40px rgba(0, 0, 0, .45);
	}
	.gp-menu-wrap--header.is-open .gp-menu { display: flex; }
	.elementor .gp-sec .gp-menu--header a { padding: 14px 20px; font-size: 19px; }
	.gp-menu--header .sub-menu {
		position: static;
		display: block;
		min-width: 0;
		padding: 0 0 8px 16px;
		background: none;
		border: 0;
	}
}


/* =========================================================================
   5. FOOTER – "Glens Global Footer" template (output by functions.php)
   Explore links come from Appearance → Menus → Footer Menu.
   ========================================================================= */
.elementor .gp-footer .gp-logo img { width: 150px; height: auto; }
.elementor .gp-sec .gp-foot-head .elementor-heading-title {
	font-family: var(--gp-font-label);
	font-weight: 500;
	font-size: 16px;
	text-transform: uppercase;
	color: var(--gp-amber);
}
.gp-menu--footer {
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
}
.elementor .gp-sec .gp-menu--footer a {
	font-family: var(--gp-font-body);
	font-weight: 400;
	font-size: 17px;
	line-height: 1.25;
	color: var(--gp-cream);
	transition: color .2s;
}
.elementor .gp-sec .gp-menu--footer a:hover { color: var(--gp-amber); }
.elementor .gp-sec .gp-foot-meta { font-size: 15px; color: var(--gp-muted); }
.elementor .gp-sec .gp-legal { font-size: 14px; color: var(--gp-muted); }
.elementor .gp-sec .gp-legal a { color: var(--gp-ice); }
.elementor .gp-sec .gp-siteby { display: flex; align-items: center; gap: 8px; }
.elementor .gp-sec .gp-siteby a { display: inline-flex; line-height: 0; }
.elementor .gp-sec .gp-siteby img { display: block; width: auto; height: 18px; max-width: none; }
.elementor .gp-sec .gp-foot-bottom { border-top-color: var(--gp-line-dark); }

/* newsletter (placeholder form – swap for your email provider's embed) */
.elementor .gp-sec .gp-signup { display: flex; width: 100%; margin: 0; }
.elementor .gp-sec .gp-signup input[type="email"] {
	flex: 1 1 auto;
	min-width: 0;
	height: 55px;
	padding: 0 20px;
	background: #0F0C0A;
	border: 1px solid var(--gp-line-dark);
	border-right: 0;
	border-radius: 4px 0 0 4px;
	font-family: var(--gp-font-body);
	font-size: 18px;
	color: var(--gp-cream);
}
.elementor .gp-sec .gp-signup input[type="email"]::placeholder { color: var(--gp-muted); opacity: 1; }
.elementor .gp-sec .gp-signup input[type="email"]:focus { outline: 2px solid var(--gp-ice); outline-offset: -2px; }
.elementor .gp-sec .gp-signup button {
	flex: 0 0 auto;
	height: 55px;
	padding: 0 32px;
	background: var(--gp-red);
	border: 0;
	border-radius: 0 4px 4px 0;
	font-family: var(--gp-font-label);
	font-weight: 600;
	font-size: 19px;
	text-transform: uppercase;
	color: var(--gp-cream);
	cursor: pointer;
	transition: background-color .2s, box-shadow .2s;
}
.elementor .gp-sec .gp-signup button:hover {
	background: var(--gp-red-hover);
	box-shadow: 0 0 22px rgba(217, 67, 47, .5);
}

@media (max-width: 767px) {
	.elementor .gp-sec .gp-signup input[type="email"],
	.elementor .gp-sec .gp-signup button { height: 52px; }
	.elementor .gp-sec .gp-signup button { padding: 0 20px; }
}


/* =========================================================================
   6. HOMEPAGE SECTIONS
   ========================================================================= */

/* ---------- hero ------------------------------------------------------- */
.elementor .gp-hero .gp-hero-copy .gp-h1 { margin: -4px 0 6px; }
.elementor .gp-hero .gp-hero-sub { font-size: 17px; }
.elementor .gp-hero .gp-hero-sub p { margin-bottom: 8px; }
.elementor .gp-hero .gp-hero-sub p.gp-lead { font-size: 22px; margin-bottom: 12px; }
.elementor .gp-hero .gp-btn-row { margin-top: 20px; }

/* ---------- amber address strip --------------------------------------- */
.elementor .gp-strip .gp-strip-text .elementor-heading-title {
	font-family: var(--gp-font-label);
	font-weight: 700;
	font-size: 25px;
	text-transform: uppercase;
	text-align: center;
	color: var(--gp-midnight);
}
.elementor .gp-sec .gp-svg--strip { width: 38px; }

/* ---------- trust / expertise (cream, ribbed paper texture) ----------- */
.elementor .gp-trust {
	background-image: repeating-linear-gradient(90deg,
		rgba(120, 90, 50, .045) 0, rgba(120, 90, 50, .045) 1px,
		transparent 1px, transparent 4px);
}
.elementor .gp-sec .gp-btn--badge .elementor-button { padding: 17px 32px; }
.elementor .gp-sec .gp-stat { border-top: 1px solid var(--gp-ink-soft); }
.elementor .gp-sec .gp-stat-num .elementor-heading-title {
	font-family: var(--gp-font-display);
	font-weight: 400;
	font-size: 32px;
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--gp-midnight);
}
.elementor .gp-sec .gp-verified { border-top: 1px solid var(--gp-midnight); }
.elementor .gp-sec .gp-svg--star { width: 23px; }

/* ---------- our story -------------------------------------------------- */
.elementor .gp-sec .gp-story-img img {
	display: block;
	width: 100%;
	aspect-ratio: 526 / 355;
	object-fit: cover;
	border-left: 5px solid var(--gp-red);
}

/* ---------- testimonials slot (Bespoke plugin) ------------------------ */
.elementor .gp-sec .gp-reviews-slot {
	min-height: 360px;   /* keeps the band visible until the plugin is placed */
	margin-top: 40px;
}

/* ---------- what you can buy / sell ----------------------------------- */
.elementor .gp-sec .gp-carry-item { border-top: 1px solid var(--gp-line); }
.elementor .gp-sec .gp-carry-copy { flex: 1 1 auto; width: auto; }

/* ---------- on the floor now ------------------------------------------ */
.elementor .gp-sec .gp-floor-card { overflow: hidden; }
.elementor .gp-sec .gp-floor-img img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 0.97;
	object-fit: cover;
	background-color: #9B9B9B;
}
.elementor .gp-sec .gp-floor-body .gp-eyebrow .elementor-heading-title { font-size: 16px; }
.elementor .gp-sec .gp-floor-tag .elementor-heading-title {
	font-family: var(--gp-font-label);
	font-weight: 500;
	font-size: 14px;
	text-transform: uppercase;
	color: var(--gp-amber);
}

/* ---------- sell / pawn / browse tiles (amber band) ------------------- */
.elementor .gp-sec .gp-tile {
	border-left: 5px solid var(--gp-red);
	text-decoration: none;
	transition: background-color .2s;
}
.elementor .gp-sec .gp-tile--cyan { border-left-color: var(--gp-ice); }
.elementor .gp-sec .gp-tile--cream { border-left-color: var(--gp-cream); }
.elementor .gp-sec .gp-tile-text .elementor-heading-title {
	font-family: var(--gp-font-label);
	font-weight: 500;
	font-size: 19px;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--gp-cream);
}
.elementor .gp-sec .gp-tile .gp-arrow { width: 18px; transition: transform .2s; }
.elementor .gp-sec .gp-tile:hover { background-color: #221B15; }
.elementor .gp-sec .gp-tile:hover .gp-arrow { transform: translateX(4px); }

/* ---------- guarantee -------------------------------------------------- */
.elementor .gp-sec .gp-guarantee-intro { max-width: 654px; }
.elementor .gp-sec .gp-promise { border-top: 3px solid var(--gp-amber); }
.elementor .gp-sec .gp-promise--cyan { border-top-color: var(--gp-ice); }
.elementor .gp-sec .gp-promise--red { border-top-color: var(--gp-red); }

@media (max-width: 1024px) {
	/* 2 x 2 product cards, 3-up stats */
	.elementor .gp-sec .gp-floor-card { width: calc(50% - 10px); }
	.elementor .gp-sec .gp-stat { width: calc(33.333% - 19px); }
}
@media (max-width: 767px) {
	.elementor .gp-hero .gp-hero-sub p.gp-lead { font-size: 19px; }
	/* full-width, thumb-friendly hero buttons */
	.elementor .gp-hero .gp-btn-row > .elementor-widget,
	.elementor .gp-hero .gp-btn-row > .e-con-inner > .elementor-widget { width: 100%; }
	.elementor .gp-hero .gp-btn-row .elementor-button { width: 100%; justify-content: center; }

	.elementor .gp-strip .gp-strip-text .elementor-heading-title { font-size: 18px; }
	.elementor .gp-sec .gp-svg--strip { width: 26px; }

	.elementor .gp-sec .gp-stat-num .elementor-heading-title { font-size: 26px; }
	.elementor .gp-sec .gp-stat { width: calc(50% - 14px); }
	.elementor .gp-sec .gp-floor-card { width: 100%; }
	.elementor .gp-sec .gp-floor-img img { aspect-ratio: 4 / 3; }
	.elementor .gp-sec .gp-reviews-slot { min-height: 300px; margin-top: 24px; }
}
