/*
Theme Name: TheGem Elementor Child
Description: Argus Dog Trainer customizations for TheGem Elementor.
Author: Codex Themes.
Template: thegem-elementor
Version: 1.0
*/

/*
 * Keep each imported DESIGN REF page faithful to its source demo without
 * changing the unfinished global Argus palette. These variables are scoped
 * only to the draft reference pages and can be removed once the final visual
 * system is approved.
 */
body.page-id-6,
body.page-id-30456,
body.page-id-30892,
body.page-id-30586 {
	--argus-to-main-bg-color: #f1f1f1;
	--argus-to-styled-color1: #cb5fff;
	--argus-to-styled-color1-03: rgba(203, 95, 255, 0.3);
	--argus-to-styled-color2: #99a9b5;
	--argus-to-styled-color3: #f44336;
	--argus-to-styled-color4: #393d50;
	--argus-to-divider-color: #dfe5e8;
	--argus-to-box-border-color: #dfe5e8;
	--argus-to-body-color: #5a536c;
	--argus-to-body-color-07: rgba(90, 83, 108, 0.7);
	--argus-to-h1-color: #2b2951;
	--argus-to-h2-color: #2b2951;
	--argus-to-h3-color: #5a536c;
	--argus-to-h4-color: #2b2951;
	--argus-to-h5-color: #2b2951;
	--argus-to-h6-color: #5a536c;
	--argus-to-link-color: #cb5fff;
	--argus-to-link-color-hover: #927eac;
	--argus-to-link-color-active: #cb5fff;
	--argus-to-button-basic-color: #fff;
	--argus-to-button-basic-color-hover: #fff;
	--argus-to-button-basic-background-color: #5f4c7e;
	--argus-to-button-basic-background-color-hover: #cb5fff;
	--argus-to-hover-default-color: #cb5fff;
	--argus-to-hover-default-color-03: rgba(203, 95, 255, 0.3);
	--argus-to-hover-default-color-08: rgba(203, 95, 255, 0.8);
	--argus-to-form-elements-background-color: #f4f6f7;
	--argus-to-form-elements-text-color: #3c3950;
	--argus-to-form-elements-border-color: #dfe5e8;
}

body.page-id-515,
body.page-id-354,
body.page-id-415,
body.page-id-9,
body.page-id-310 {
	--argus-to-main-bg-color: #23254c;
	--argus-to-styled-color1: #ce93d8;
	--argus-to-styled-color3: #f44336;
	--argus-to-styled-color4: #393d50;
	--argus-to-divider-color: #4a4d6d;
	--argus-to-box-border-color: #ce93d8;
	--argus-to-body-color: #99a9b5;
	--argus-to-h6-color: #fff;
	--argus-to-link-color: #ce93d8;
	--argus-to-link-color-hover: #384554;
	--argus-to-link-color-active: #ce93d8;
	--argus-to-date-filter-subtitle-color: #fff;
	--argus-to-hover-default-color: #6a5683;
	--argus-to-hover-default-color-03: rgba(106, 86, 131, 0.3);
}

/* Compact Argus information footer. */
#footer-nav {
	display: none;
}

.argus-site-footer {
	background: #221228;
	color: #d9ceda;
	font-size: 15px;
	line-height: 1.55;
}

.argus-site-footer,
.argus-site-footer * {
	box-sizing: border-box;
}

.argus-site-footer__inner {
	margin: 0 auto;
	max-width: 1280px;
	padding: 54px 32px 0;
}

.argus-site-footer__grid {
	display: grid;
	gap: 42px;
	grid-template-columns: minmax(280px, 2fr) repeat(3, minmax(150px, 1fr));
	padding-bottom: 44px;
}

.argus-site-footer__brand {
	max-width: 360px;
}

.argus-site-footer__logo {
	display: inline-flex;
	margin-bottom: 17px;
}

.argus-site-footer__logo-image {
	display: block;
	height: auto;
	max-width: 118px;
}

.argus-site-footer__brand-name,
.argus-site-footer__person,
.argus-site-footer__description,
.argus-site-footer__bottom p {
	margin: 0;
}

.argus-site-footer__brand-name {
	color: #fff;
	font-size: 19px;
	font-weight: 800;
	letter-spacing: .055em;
	line-height: 1.25;
}

.argus-site-footer__person {
	color: #e4b164;
	font-size: 15px;
	font-weight: 750;
	margin-top: 5px;
}

.argus-site-footer__description {
	color: rgba(255, 255, 255, .67);
	margin-top: 13px;
	max-width: 315px;
}

.argus-site-footer .argus-site-footer__title {
	color: #e04aa9;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .12em;
	line-height: 1.25;
	margin: 4px 0 18px;
	text-transform: uppercase;
}

.argus-site-footer__links {
	font-size: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.argus-site-footer__links li + li {
	margin-top: 8px;
}

.argus-site-footer a {
	color: #d9ceda;
	text-decoration: none;
}

.argus-site-footer__links a {
	display: inline-block;
	transition: color .2s ease, transform .2s ease;
}

.argus-site-footer__links a:hover,
.argus-site-footer__links a:focus-visible {
	color: #fff;
	transform: translateX(3px);
}

.argus-site-footer a:focus-visible {
	border-radius: 3px;
	outline: 2px solid #e4b164;
	outline-offset: 4px;
}

.argus-site-footer__bottom {
	align-items: center;
	border-top: 1px solid rgba(255, 255, 255, .13);
	color: rgba(255, 255, 255, .52);
	display: flex;
	font-size: 12px;
	min-height: 58px;
}

@media (max-width: 1023px) {
	.argus-site-footer__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.argus-site-footer__brand {
		grid-column: 1 / -1;
		max-width: 440px;
	}
}

@media (max-width: 640px) {
	.argus-site-footer__inner {
		padding: 42px 20px 0;
	}

	.argus-site-footer__grid {
		gap: 34px 20px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding-bottom: 34px;
	}

	.argus-site-footer__brand,
	.argus-site-footer__useful {
		grid-column: 1 / -1;
	}

	.argus-site-footer__useful .argus-site-footer__links {
		display: flex;
		flex-wrap: wrap;
		gap: 8px 22px;
	}

	.argus-site-footer__useful .argus-site-footer__links li + li {
		margin-top: 0;
	}
}

@media (max-width: 420px) {
	.argus-site-footer__grid {
		gap: 32px 18px;
	}

	.argus-site-footer__title {
		font-size: 12px;
	}

	.argus-site-footer__links {
		font-size: 15px;
	}
}

/* User rule: single-column Elementor text uses the whole boxed content width. */
body .elementor-top-section>.elementor-container>.elementor-column:only-child>.elementor-widget-wrap,
body .elementor-top-section>.elementor-container>.argus-obsolete-column:only-child>.elementor-widget-wrap{max-width:100%!important;width:100%!important}
body .elementor-top-section>.elementor-container>.elementor-column:only-child>.elementor-widget-wrap>.elementor-widget-text-editor,
body .elementor-top-section>.elementor-container>.argus-obsolete-column:only-child>.elementor-widget-wrap>.elementor-widget-text-editor{max-width:none!important;width:100%!important}
body .elementor-top-section>.elementor-container>.elementor-column:only-child>.elementor-widget-wrap>.elementor-widget-text-editor p{max-width:none!important}

/* Shared footer: subtle separation from preceding dark sections. */
.argus-site-footer { border-top: 1px solid rgba(255, 255, 255, .70); }




/* Paw contact banner: align with the site's 1240px boxed content. */
.elementor-section.argus-teacher-v3-contact > .elementor-container{max-width:1240px!important;width:100%}
.argus-site-footer .argus-site-footer__inner{max-width:1304px}
body.page-id-3349 .ap-faq .ap-faq-question .elementor-heading-title,body.page-id-3351 .bo-faq .bo-question .elementor-heading-title{color:#c63e96!important}
body.page-id-3351 .argus-teacher-v3-contact .elementor-button,body.page-id-3351 .argus-teacher-v3-contact .elementor-button-text{color:#fff!important}
body.page-id-3351 .bo-location .bo-kicker .elementor-heading-title,body.page-id-3349 .ap-online > .elementor-container > .elementor-column:first-child .ap-kicker .elementor-heading-title{color:#f58220!important}
/* Pretraining format card labels. */
body.page-id-3349 .ap-section.ap-online .ap-format .ap-kicker .elementor-heading-title{color:#e57373!important}
/* Shared photo captions, matching Daisy. */
body #main :is(.ap-caption p,.bo-caption p,.widget-image-caption,.wp-caption-text,.wp-block-image figcaption){font-family:Roboto,Arial,sans-serif!important;font-size:12px!important;font-weight:600!important;line-height:18px!important;letter-spacing:.42px!important;text-transform:uppercase!important;color:#96548c!important;text-align:right!important}
/* Basic obedience: rounded white topic panels on the shared cream surface. */
body.page-id-3351 .bo-first{background:#d0c9d0!important}
body.page-id-3351 .bo-topics{background:#ffffff;padding-top:28px;padding-bottom:0}
body.page-id-3351 .bo-first + .bo-topics{padding-top:64px}
body.page-id-3351 .bo-topics>.elementor-container{border:0;padding-bottom:0}
body.page-id-3351 .bo-topics>.elementor-container{gap:28px;align-items:stretch}
body.page-id-3351 .bo-topics .elementor-column>.elementor-widget-wrap{background:#fff;border-radius:28px;padding:36px!important;align-content:flex-start}
@media(max-width:767px){body.page-id-3351 .bo-first + .bo-topics{padding-top:44px}body.page-id-3351 .bo-topics .elementor-column>.elementor-widget-wrap{padding:26px!important;border-radius:24px}}
body.page-id-3351 .bo-photo img{border:8px solid #d0c9d0;border-radius:28px;box-sizing:border-box}
/* White service cards on a visibly beige section, also stored in Elementor controls. */
body.page-id-3351 section.bo-topics{background:#e5ddd2!important;padding-bottom:28px!important}
body.page-id-3351 section.bo-topics + section.bo-topics{padding-top:0!important;padding-bottom:64px!important}
body.page-id-3351 .bo-topic-card{background:#fff!important;border-radius:24px!important;overflow:hidden}
body.page-id-3351 .bo-topics .bo-topic-card>.elementor-widget-wrap{background:#fff!important;border-radius:24px!important;padding:32px!important}
body.page-id-3351 .bo-location{margin-top:0!important}
@media(max-width:767px){body.page-id-3351 .bo-topics .bo-topic-card>.elementor-widget-wrap{padding:26px!important}}
/* Approved beige and homepage card typography, 2026-09-24. */
body.page-id-3351 section.bo-topics{background:#dbd6d3!important}
body.page-id-3351 .bo-topics .bo-heading .elementor-heading-title{font-family:"Noto Sans",sans-serif!important;font-size:29px!important;font-weight:500!important;line-height:1.1!important;letter-spacing:-.04em!important;color:#2e1735!important}
body.page-id-3351 .bo-topics .elementor-widget-text-editor,body.page-id-3351 .bo-topics .elementor-widget-text-editor p{font-family:"Source Sans Pro",sans-serif!important;font-size:15px!important;font-weight:400!important;line-height:1.65!important;letter-spacing:normal!important;color:#6f6274!important}
@media(max-width:767px){body.page-id-3351 .bo-topics .bo-heading .elementor-heading-title{font-size:25px!important;letter-spacing:-1px!important}}
/* Zimia gallery only: requested readable caption weight and size. */
body.argus-zimia-page .az-partner-zimia .az-card figcaption{font:400 15px/1.4 Roboto,Arial,sans-serif!important;color:#fff!important;text-align:center;text-transform:none;letter-spacing:normal}
/* Exact homepage service-card typography, without service font overrides. */
body.page-id-3351 .bo-topics .bo-heading .elementor-heading-title{font-family:"Noto Sans"!important;font-size:29px!important;font-style:normal!important;font-weight:500!important;line-height:31.9px!important;letter-spacing:-1.16px!important;color:#2e1735!important;text-transform:none!important}
body.page-id-3351 .bo-topics .elementor-widget-text-editor,body.page-id-3351 .bo-topics .elementor-text-editor,body.page-id-3351 .bo-topics .elementor-widget-text-editor p{font-family:"Source Sans Pro"!important;font-size:15px!important;font-style:normal!important;font-weight:400!important;line-height:24.75px!important;letter-spacing:normal!important;color:#6f6274!important;text-transform:none!important}
body.page-id-3351 .bo-topics .bo-heading{margin-bottom:18px!important}
@media(max-width:767px){body.page-id-3351 .bo-topics .bo-heading .elementor-heading-title{font-size:25px!important;line-height:27.5px!important;letter-spacing:-1px!important}}
/* Four-image introduction and numbered cards for basic obedience. */
body.page-id-3351 .bo-gallery{background:#fff;padding:54px 32px 58px}
body.page-id-3351 .bo-gallery>.elementor-container{max-width:1240px!important}
body.page-id-3351 .bo-gallery>.elementor-container{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;width:100%}
body.page-id-3351 .bo-gallery>.elementor-container>.elementor-column{width:100%!important}
body.page-id-3351 .bo-gallery .elementor-widget-wrap{padding:0!important}
body.page-id-3351 .bo-gallery-photo img{width:100%;height:250px;object-fit:cover;border:8px solid #d0c9d0;border-radius:28px;box-sizing:border-box}
body.page-id-3351 .bo-card-number{position:absolute;top:26px;right:26px;margin:0!important;z-index:2}
body.page-id-3351 .bo-card-number .elementor-heading-title{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#f6e1db;color:#f58220;font:800 13px/1 Roboto,Arial,sans-serif;letter-spacing:.08em}
body.page-id-3351 .bo-location .bo-button{margin-top:42px!important}
body.page-id-3351 .bo-topics .bo-heading{padding-top:64px}
@media(max-width:1024px){body.page-id-3351 .bo-gallery-photo img{height:210px}}
@media(max-width:767px){body.page-id-3351 .bo-gallery{padding:38px 22px 44px}body.page-id-3351 .bo-gallery>.elementor-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}body.page-id-3351 .bo-gallery-photo img{height:180px;border-width:6px;border-radius:22px}body.page-id-3351 .bo-card-number{top:22px;right:22px}.bo-card-number .elementor-heading-title{width:44px!important;height:44px!important}}
body.page-id-3351 .bo-card-number{width:52px!important;left:auto!important} body.page-id-3351 .bo-gallery-photo img{object-fit:contain;background:#fff}
body.page-id-3351 .bo-topics .bo-heading .elementor-heading-title{color:#572666!important}
/* Four illustrative training scenes: edge-to-edge, without visible background. */
body.page-id-3351 section.bo-gallery{padding:0!important;margin:0!important;border:0!important;width:100%;max-width:none;line-height:0}
body.page-id-3351 .bo-gallery>.elementor-container{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
body.page-id-3351 .bo-gallery>.elementor-container{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:0!important;width:100%;margin:0!important}
body.page-id-3351 .bo-gallery .elementor-column,body.page-id-3351 .bo-gallery .elementor-widget-wrap,body.page-id-3351 .bo-gallery .elementor-widget,body.page-id-3351 .bo-gallery .elementor-widget-container,body.page-id-3351 .bo-gallery .elementor-image{padding:0!important;margin:0!important;border:0!important;border-radius:0!important;min-width:0;line-height:0}
body.page-id-3351 .bo-gallery .bo-gallery-photo img{display:block;width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:1/1;object-fit:cover!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important}
@media(max-width:767px){body.page-id-3351 .bo-gallery>.elementor-container{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Four image-led topic cards: each training scene belongs to its own explanation. */
body.page-id-3351 .bo-topics .bo-topic-card{height:auto!important}
body.page-id-3351 .bo-topics .bo-topic-card>.elementor-widget-wrap{
  display:flex!important;flex-direction:column!important;align-content:stretch!important;
  height:100%;padding:0!important;background:#fff!important;border-radius:24px!important;overflow:hidden!important
}
body.page-id-3351 .bo-topics .bo-topic-photo{display:block!important;width:100%!important;margin:0!important;line-height:0!important}
body.page-id-3351 .bo-topics .bo-topic-photo .elementor-widget-container,
body.page-id-3351 .bo-topics .bo-topic-photo .elementor-image{width:100%!important;padding:0!important;margin:0!important;line-height:0!important}
body.page-id-3351 .bo-topics .bo-topic-photo img{
  display:block!important;width:100%!important;max-width:none!important;height:auto!important;
  aspect-ratio:4/3;object-fit:cover!important;border:0!important;border-radius:0!important;margin:0!important
}
body.page-id-3351 .bo-topics .bo-card-number{
  position:static!important;left:auto!important;top:auto!important;right:auto!important;
  width:52px!important;margin:26px 32px 14px!important;z-index:auto!important
}
body.page-id-3351 .bo-topics .bo-heading{
  padding-top:0!important;margin:0 32px 18px!important;width:calc(100% - 64px)!important
}
body.page-id-3351 .bo-topics .elementor-widget-text-editor{
  width:calc(100% - 64px)!important;margin:0 32px 34px!important
}
body.page-id-3351 .bo-topics .elementor-widget-text-editor p:last-child{margin-bottom:0!important}
@media(max-width:767px){
  body.page-id-3351 .bo-topics>.elementor-container{display:block!important}
  body.page-id-3351 .bo-topics .bo-topic-card{width:100%!important;margin-bottom:22px!important}
  body.page-id-3351 .bo-topics .bo-topic-photo img{aspect-ratio:4/3}
  body.page-id-3351 .bo-topics .bo-card-number{margin:22px 26px 12px!important}
  body.page-id-3351 .bo-topics .bo-heading{width:calc(100% - 52px)!important;margin:0 26px 16px!important}
  body.page-id-3351 .bo-topics .elementor-widget-text-editor{width:calc(100% - 52px)!important;margin:0 26px 28px!important}
}

/* Number badges sit on the images, with the heading directly below each image. */
body.page-id-3351 .bo-topics .bo-topic-card{position:relative!important}
body.page-id-3351 .bo-topics .bo-card-number{
  position:absolute!important;top:22px!important;left:22px!important;right:auto!important;
  width:52px!important;margin:0!important;z-index:3!important
}
body.page-id-3351 .bo-topics .bo-card-number .elementor-heading-title{
  box-shadow:0 2px 10px rgba(42,20,50,.15)!important;border:2px solid rgba(255,255,255,.9)!important
}
body.page-id-3351 .bo-topics .bo-heading{margin-top:30px!important}
body.page-id-3351 section.bo-topics + section.bo-topics .bo-topic-card:last-child .bo-topic-photo img{object-position:center 70%!important}
@media(max-width:767px){
  body.page-id-3351 .bo-topics .bo-card-number{top:18px!important;left:18px!important}
  body.page-id-3351 .bo-topics .bo-heading{margin-top:24px!important}
}


/* Basic obedience topic section palette, 2026-09-30. */
body.page-id-3351 section.bo-topics{background:#564263!important}
body.page-id-3351 .bo-topics .bo-card-number .elementor-heading-title{background:#A658B3!important;color:#fff!important;border:0!important;box-shadow:none!important}
/* Coral number badge variant requested for review. */
body.page-id-3351 .bo-topics .bo-card-number .elementor-heading-title{background:#e57373!important}
