/*
 Theme Name:   AMS Hagströmska Child
 Theme URI:    https://hagstromska.se/
 Description:  AMS Child Theme for Hagströmska
 Author:       Academedia WDT
 Author URI:   http://academedia.se/
 Template:     ams
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  ams
*/

/* Menu CTA Button (desktop) */
.header_wrapper .top-menu-wrapper > button,
.header_wrapper .top-menu-wrapper > button:visited {
	color: #202024 !important;
	background-color: #FFC629 !important;
}

.header_wrapper .top-menu-wrapper > button:hover,
.header_wrapper .top-menu-wrapper > button:active {
	color: #202024 !important;
	background-color: #F0BA27 !important;
}

/* Menu CTA Button (mobile) */
@media screen and (max-width: 1099px) {
	#main-navigation > button,
	#main-navigation > button:active,
	#main-navigation > button:visited {
		color: #fff !important;
		background-color: #202024 !important;
	}

	#main-navigation > button:hover {
		color: #fff !important;
		background-color: #58585B !important;
	}
}

/* Sub menu */
#ams_nav_menu .sub-menu li:hover a,
#ams_nav_menu .sub-menu li.current-menu-item > a,
body .ams_active_menu_state_menu #ams_nav_menu .sub-menu li.current-menu-item > a {
	color: #202024 !important;
}

#ams_nav_menu .sub-menu li:hover a::after,
body .ams_active_menu_state_menu #ams_nav_menu .sub-menu li.current-menu-item > a::after {
	background-color: #202024 !important;
}

/* Menu mobile plus icon background */
.navbar ul li.active i,
.navbar ul li.active ul.sub-menu li.active i {
	background-color: #202024 !important;
}

/* Form */
body .ams-form__submit-wrapper > button,
body .ams-form__submit-wrapper > button:visited {
	background-color: #FFC629 !important;
}

body .ams-form__submit-wrapper > button:hover,
body .ams-form__submit-wrapper > button:active {
	background-color: #F0BA27 !important;
}

.ams-form__not-validated {
	color: #202024 !important;
	background-color: #CED0D8 !important;
}

.ams-form__not-validated-text {
	color: #202024 !important;
}

body .ams-form__form-wrapper.ams_active_form_state_form .container-checkmark:not(.site__text-color--dark) .checkmark {
	background-color: #fff !important;
	border-color: #fff !important;
	box-shadow: 0 0 0 1px #fff !important;
}

body .ams-form__form-wrapper.ams_active_form_state_form .container-checkmark:not(.site__text-color--dark):hover .checkmark,
body .ams-form__form-wrapper.ams_active_form_state_form .container-checkmark:not(.site__text-color--dark) input:checked ~ .checkmark {
	background-color: #FFC629 !important;
	border-color: #FFC629 !important;
	box-shadow: 0 0 0 1px #FFC629 !important;
}

body .ams-form__form-wrapper.ams_active_form_state_form .container-checkmark:hover .checkmark,
body .ams-form__form-wrapper.ams_active_form_state_form .container-checkmark input:checked ~ .checkmark {
	background-color: #FFC629 !important;
	box-shadow: 0 0 0 1px #202024 !important;
}

body .ams-form__form-wrapper.ams_active_form_state_form .container-checkmark:hover .checkmark::after,
body .ams-form__form-wrapper.ams_active_form_state_form .container-checkmark:hover .checkmark::before,
body .ams-form__form-wrapper.ams_active_form_state_form .container-checkmark input:checked ~ .checkmark::after,
body .ams-form__form-wrapper.ams_active_form_state_form .container-checkmark input:checked ~ .checkmark::before {
	border-color: #202024 !important;
}

body .ams_active_form_state_form input:active {
	background-color: #fff !important;
}

.ams-form__checkbox-dropdown .container-checkmark {
	margin-bottom: 0;
}

.ams-form__checkbox-dropdown li:hover label,
.ams-form__form-wrapper .aca-dropdown-selection li {
	color: #202024 !important;
}

.ams-form__checkbox-dropdown .ams-form__box-wrapper:focus-within::after {
	content: none;
}

/* Change highlight word */
.highlight {
	position: relative;
	isolation: isolate;
	color: inherit !important;
}

.highlight::after {
	content: "";
	width: 102.5%;
	height: 0.375em;
	position: absolute;
	left: -3px;
	bottom: 3px;
	background-color: var(--heading-highlight);
	z-index: -1;
}

/* Personfråga */
.ams-fragor {
    padding: 48px;
}

/* Links in map */
.mapmodule .site__a_cta {
	border-color: #202024;
}

.mapmodule .site__a_cta:hover {
	border-color: transparent;
}

/* Timeline month color */
.c-steps {
	--circle-highlight-color: #fff;
}

/* Links */
.site__a_cta,
.site__a_cta:hover {
	border-color: #202024;
}

/* Search */
#search-wrapper .entry-title a,
#search-wrapper .border-bottom {
	border: none !important;
}

#search-wrapper .page-title {
	margin: 0;
	border-bottom: 1px solid #202024 !important;
}

#search-wrapper .page-title span {
	font-weight: inherit;
}

#search-wrapper article {
	margin: 0;
	padding: 24px;
	border-bottom: 1px solid #202024;
}

#search-wrapper .entry-title  {
	font-size: var(--ams-font-title-3-size) !important;
}

#search-wrapper .entry-title .site__cta-bg--25 {
	background-color: #CED0D8;
}

#search-wrapper .entry-meta span {
	text-transform: capitalize !important;
}

#search-wrapper .entry-summary {
	min-height: auto;
	padding-bottom: 0;
}

#search-wrapper .arrow-container,
#search-wrapper .arrow-container a {
	color: #202024;
}

.search-results .menu-item a span {
	background-color: transparent !important;
}

/* Point Plan */
.c-accordion[data-variant=border] {
	--ac-gap: var(--ams-space-fluid-md);
}

.ams-point-plan__tp:first-child {
	border: var(--ac-border-width) var(--ac-border-style) var(--ac-border-color);
}

.ams-point-plan__ac .points-list li:first-child {
	border-top: var(--ac-border-width) var(--ac-border-style) var(--ac-border-color)
}

/* Button CTA custom icon */
.c-btn:has(.btn-icon) {
	--btn-gap: 0.5rem;
	padding-inline: var(--btn-padding-inline) calc(var(--btn-padding-inline) / 2);
}

.c-btn[data-variant=default]:has(.btn-icon) {
	--btn-border-width: 0;
}

.c-btn[data-variant=outline] {
	--btn-border-width: 1px;
	--btn-border-style: dashed;
}

.c-btn .btn-icon {
    width: 30px;
    height: 30px;
    border-radius: 100%;
    background-color: var(--btn-text-color);
	transition: background-color 200ms var(--ams-ease-1);
}

.c-btn .btn-icon > svg {
	display: block;
	width: 11px;
	height: 11px;
	color: var(--btn-bg-color);
	transition: color 200ms var(--ams-ease-1);
}

.c-btn[data-variant=outline] .btn-icon > svg {
	color: var(--ams-color-button-text);
}

.c-btn[data-variant=outline]:hover .btn-icon {
	background-color: var(--ams-color-button-text);
}

.c-btn[data-variant=outline]:hover .btn-icon > svg {
	color: var(--ams-color-button-bg);
}

/* Card border width */
.ams-courses-list .c-card[data-variant=border],
.ams-info-card .c-card[data-variant=border],
.ams-article .c-card[data-variant=border] {
	--card-border-width: 2px;
}

/**
* Footer custom styling
*/
.ams-footer {
    --footer-line-color: var(--ams-color-global-heading);
	--footer-line-width: 1px;

    overflow: hidden;
}

/* Outer Vertical Lines (Full Height) */
.ams-footer .ams-footer__inner::before,
.ams-footer .ams-footer__inner::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: var(--footer-line-width);
    background-color: var(--footer-line-color);
    z-index: 1;
    pointer-events: none;
}

.ams-footer .ams-footer__inner::before { left: 0; }
.ams-footer .ams-footer__inner::after { right: 0; }

/* Inner Vertical Lines (Between Columns) - only for tablet and desktop */
@media (min-width: 768px) {
    .ams-footer .l-grid > div {
        position: relative;
    }

    .ams-footer .l-grid > div:not(:last-child)::after {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        width: 1px;
        background-color: var(--footer-line-color);

        /* Because we are using a grid gap (.u-gap-2xl), standard borders won't center perfectly.
           Therefore we place this pseudo-element in the middle of the gap.
		   This also means that it needs to be re-calculated if the gap value is changed. */
		right: calc((var(--ams-space-2xl) / -2) - 0.5px);

        pointer-events: none;
    }
}

/* Horizontal Lines (Full Width) - only for tablet and desktop */
@media (min-width: 768px) {
	.ams-footer .l-grid {
		position: relative;
	}

	.ams-footer .l-grid::before,
	.ams-footer .l-grid::after {
		content: '';
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		width: 100vw;
		height: var(--footer-line-width);
		background-color: var(--footer-line-color);
		z-index: 1;
		pointer-events: none;
	}

	.ams-footer .l-grid::before { top: 0; }
	.ams-footer .l-grid::after { bottom: 0; }

}

/* Overwrite column width for tablet */
@media (min-width: 768px) and (max-width: 1023px) {
    .ams-footer .l-col-6\@md {
        --span: 4;
    }
}

/* Increase padding inside columns */
@media (min-width: 768px) {
	.ams-footer [class*=l-col-] {
		padding-block: var(--ams-space-xl) var(--ams-space-6xl);
		padding-inline: var(--ams-space-sm);
	}

	.ams-footer [class*=l-col-]:first-of-type {
		padding-inline-start: var(--ams-space-xl);
	}
}

/*  Standard vertical lines in mobile */
.ams-footer [class*=l-col-]::after {
	background-color: var(--ams-color-global-heading);
	opacity: 1;
}

/* Hide also the outer column of hidden content */
@media (min-width: 768px) and (max-width: 1023px) {
	.ams-footer .l-grid > [class^="l-col-"][class~="u-hide@tablet"] {
		display: none;
	}
}

@media (max-width: 767px) {
	.ams-footer .l-grid > [class^="l-col-"][class~="u-hide@mobile"] {
		display: none;
	}
}

/* Footer Payoff and legal text */
.ams-footer__payoff {
	margin-top: 0;
	padding-block-start: var(--ams-space-fluid-2xl);
}

.ams-footer__payoff p {
	color: var(--ams-color-global-heading);
	font-size: clamp(3.0625rem, 1.0455rem + 8.6061vw, 7.5rem); /* 49-120 */
}

.ams-footer__legal {
	margin-top: var(--ams-space-lg);
}

@media (min-width: 768px) {
	.ams-footer__legal {
		margin-top: var(--ams-space-sm);
	}
}

@media (max-width: 1024px) {
	/* Increase padding when inside the grid lines */
	.ams-footer__payoff,
	.ams-footer__legal {
		padding-inline: var(--ams-space-sm);
	}
}
