/*
Theme Name: Patients Union Base Template
Theme URI: https://tandem.nyc/
Author: Tandem NYC
Author URI: https://tandem.nyc/
Description: Starter template for The Patients Union projects. Adapted from Frost WP.
Tags: block-patterns, block-styles, custom-colors, custom-logo, custom-menu, editor-style, full-site-editing, one-column, template-editing, threaded-comments, translation-ready, wide-blocks
Requires at least: 6.2
Tested up to: 6.3.1
Requires PHP: 5.6
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: patientsunion
*/


/* Defaults
---------------------------------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
    font-kerning: normal;
	scroll-margin-top: var(--wp--preset--spacing--xxx-large);
}

::selection { 
	background: var(--wp--preset--color--periwinkle); 
	color: var(--wp--preset--color--black); 
	background-blend-mode: multiply;
}

h1, h2, h3, h4, h5, h6 {
    text-rendering: optimizeLegibility;
    font-feature-settings: 'kern' 1, 'liga' 1;
}

.wp-block-button__link,
.wp-element-button {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#wpadminbar {
	position: absolute;
}

.hidden { 
	display: none !important;
}

html {
	scroll-behavior: smooth;
}

.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.is-style-hidden-desktop { 
	display: none !important; 
}

main {
	flex-grow: 1;
}

a,
input:focus,
textarea:focus {
	transition: all 0.2s ease-in-out;
}

a {
	text-decoration: underline;
	text-underline-offset: 2px;
}

a:focus,
a:hover {
	text-decoration: none;
}

header.site-header .logo-svg {
    max-width: 250px;
    height: auto;
    width: 100%;
}

header.site-header .logo-fill {
	fill: var(--wp--preset--color--white);
}

header.site-header {
	position: sticky;
	z-index: 999;
	top: 0;
	/* min-height: 60px; */
}

header.site-header a {
	text-decoration: none;
	text-underline-offset: 3px;
}

header.site-header .current-menu-item a
{
	text-decoration: underline;
	text-decoration-thickness: 1.5px; 
}

header.site-header nav a:not(.wp-block-button__link.wp-element-button):focus,
header.site-header nav a:not(.wp-block-button__link.wp-element-button):hover
{
	text-decoration: underline;
	text-decoration-thickness: 1.5px; 
}

header.site-header nav .mobile-logo {
	display: none; 
}

footer a:has(.logo-svg) {
    max-width: 550px;
    height: auto;
    width: 100%;
}

footer .is-style-footer-dark .logo-fill {
	fill: var(--wp--preset--color--white);
}

footer.is-style-footer-light .logo-fill {
	fill: var(--wp--preset--color--purple-black);
}

footer a { 
	text-decoration: none;
}

.announcement-bar { 
	margin: 0;
	padding: var(--wp--preset--spacing--xxx-small);
	background: var(--wp--preset--color--yellow);
	color: var(--wp--preset--color--black);
	text-align: center;
	}

.announcement-bar h6 { 
	margin: 0 !important;
	font-size: var(--wp--preset--font-size--button);
	}

.announcement-bar a { 
		text-decoration: none;
		text-underline-offset: 2px;
	}

.announcement-bar a:hover { 
		text-decoration: underline;
		text-underline-offset: 4px;
	}


.wp-block-cover__inner-container.has-global-padding {
	padding-right: var(--wp--style--root--padding-right);
	padding-left: var(--wp--style--root--padding-left);
}

/* Forms
--------------------------------------------- */
input,
select,
textarea {
	border-radius: 0px;
	font-size: var(--wp--preset--font-size--small);
	padding: 10px 20px;
	width: 100%;
}

input:focus,
textarea:focus {
	outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="text"],
textarea {
	-webkit-appearance: none;
	appearance: none;
}

/* Blocks
---------------------------------------------------------------------------- */

/* Buttons 
------------------------ */ 
.wp-block-button__link {
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.wp-block-button.is-style-purple-black {
    --button-color: var(--wp--preset--color--purple-black);
}

.wp-block-button.is-style-red {
    --button-color: var(--wp--preset--color--red);
}

.wp-block-button.is-style-yellow {
    --button-color: var(--wp--preset--color--yellow);
}

.wp-block-button.is-style-green {
    --button-color: var(--wp--preset--color--green);
}

.wp-block-button.is-style-periwinkle {
    --button-color: var(--wp--preset--color--periwinkle);
}

.wp-block-button.is-style-white {
    --button-color: var(--wp--preset--color--white);
}

/* Default state */
.wp-block-button[class*="is-style-"] .wp-block-button__link {
    background-color: var(--button-color);
    border: 2px solid var(--button-color);
    /* color: var(--wp--preset--color--white); */
    transition: all 0.3s ease;
}

/* Hover state */
.wp-block-button[class*="is-style-"] .wp-block-button__link:hover {
    background-color: transparent !important;
    border-color: var(--button-color) !important;
    border-style: dashed !important;
    color: var(--button-color);
}

.wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent;
    color: var(--button-color);
    border: 0;                         /* no border by default */
    box-shadow: none;
	text-underline-offset: 2px;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
    text-decoration: underline;
	text-underline-offset: 4px;
}


/* Queries 
------------------------ */ 

.wp-block-post-template-is-layout-flow > * {
    margin-block-start: 0;
    margin-block-end: 0;
}


.is-flex-query .wp-block-post-template .wp-block-post:not(:last-of-type) {
	margin-bottom: 0;
}

.is-flex-query ul>li>div{
	display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.is-flex-query .space-between { 
	margin-top: auto;
}

/* Code
--------------------------------------------- */

*:not(.wp-block-code) > code {
	background-color: var(--wp--preset--color--yellow);
	font-size: var(--wp--preset--font-size--small);
	padding: 5px 8px;
}

/* Group
--------------------------------------------- */

/* Shadow */
.wp-block-group.is-style-shadow { 
  box-shadow: var(--wp--preset--shadow--solid);
}

.wp-block-group.is-style-paper-background { 
    background-image: url(https://thepatientsunion.wpcomstaging.com/wp-content/uploads/2026/03/PatientsUnion_ConstructionPaper_White.jpg);
 	background-blend-mode: multiply;
    background-size: cover;
    background-position: center;
	background-repeat: no-repeat; 
}

/* Overlap */
.wp-block-group.is-style-overlap { 
    margin-bottom: calc(-1 * var(--wp--preset--spacing--xxxx-large));
    margin-top: calc(-1 * var(--wp--preset--spacing--xxxx-large));
    box-shadow: var(--wp--preset--shadow--solid);
    z-index: 20;
    background-image: url(https://thepatientsunion.wpcomstaging.com/wp-content/uploads/2026/03/PatientsUnion_ConstructionPaper_Orange.jpg);
/*  background-blend-mode: multiply; */
    background-size: cover;
    background-position: center;
	background-repeat: no-repeat; 
}

/* Stamp Center */
.wp-block-group[class*="is-style-stamp"] {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    --pattern-rotation: -45deg;
    --stamp-size: 150%;
    --stamp-opacity: 0.3;
}

.wp-block-group[class*="is-style-stamp"]::before {
    content: '';
    position: absolute;
    background-image: url(./assets/logos/Patients-Union_Logo_Circle.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    mix-blend-mode: multiply;
    opacity: var(--stamp-opacity);
    z-index: -1;
    transform: rotate(var(--pattern-rotation)) translateZ(0);
    backface-visibility: hidden;
    pointer-events: none;
}

.wp-block-group.is-style-stamp::before {
    top: 50%;
    left: 50%;
    width: 90%;
    height: 90%;
    transform: translate(-50%, -50%) rotate(var(--pattern-rotation)) translateZ(0);
}

/* .wp-block-group.is-style-stamp-bottom-right::before {
    top: -25%;
    right: 0%;
    width: 150%;
    height: 150%;
} */

.wp-block-group.is-style-stamp-bottom-right::before {
    top: 50%;
    /* right: -40%; */
    width: 150%;
    height: 150%;
    transform: translate(5%, -50%) rotate(var(--pattern-rotation)) translateZ(0);
}

.wp-block-group[class*="is-style-stamp"] > * {
    position: relative;
    z-index: 1;
}

  /* Image
--------------------------------------------- */
.wp-block-image.is-style-shadow-solid img {
	box-shadow: var(--wp--preset--shadow--solid);
}

.wp-block-image.is-style-multiply img { 
	mix-blend-mode: multiply;
	filter: grayscale();
	min-height: 100%; 
	object-fit: cover;
}
/* List
--------------------------------------------- */

.is-style-no-disc {
	list-style-type: none;
	padding-left: 0;
}

/* Navigation
---------------------------------------------------------------------------- */
/* Navigation Mobile
--------------------------------------------- */

.wp-block-navigation__responsive-container.is-menu-open,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > ul.wp-block-navigation__container {
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--x-large);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { 
	padding-top: var(--wp--preset--spacing--xxx-large);
	padding-bottom: var(--wp--preset--spacing--xxx-large);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content * {
	font-size: var(--wp--preset--font-size--large);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content a:not(.wp-element-button):first-child:focus{
	text-decoration: none;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-buttons.is-layout-flex { 
	flex-direction: column !important; 
	gap: var(--wp--preset--spacing--large);
}

ul.wp-block-navigation__container.is-responsive.wp-block-navigation:has(.mobile-logo) { 
position: fixed; 
bottom: 10%; }

button.wp-block-navigation__responsive-container-close { 
	top: 10%;
    position: fixed;
    right: 10%;
}

/* Quote
--------------------------------------------- */
.wp-block-quote.is-style-shadow-solid {
	box-shadow: var(--wp--preset--shadow--solid);
}

/* Action Network Forms
--------------------------------------------- */

input[type=checkbox] {
	accent-color: var(--wp--preset--color--purple-black);
  }
  
.an-form { 
	background-color: none !important; 
}

/* Quick Adjustments */
.an-form #can_embed_form_inner h2, .an-form #can_embed_form_inner h4, 
.an-form #action_info, .an-form #logo_wrap, 
.an-form #can_embed_form_inner #form_col1 li.form_builder_output, .an-form #mobile_opt_in,
.an-form .control-group.checkbox_group_wrap .control-label.check_radio_label, 
.an-form .floatlabel-label-inactive, .an-form label[for="form-phone"].floatlabel-label-active
{ 
	display: none !important; 
}

.an-form .international_link-wrap, .an-form .country_drop_wrap { 
	display: none !important;
}

.an-form #can_embed_form_inner #form_col2 img.ajax-loading, .an-form #can_embed_form_inner #form_col2 #d_sharing { 
	display: none !important;
}

.an-form #can_embed_form_inner #form_col1 li, 
.an-form #can_embed_form_inner #form_col2 li { 
	list-style-type: none;
}

.an-form .iti, .an-form .email_validation.js-email_validation,
.an-form .form_builder_other_input  {
	width: 100%;
}

.an-form .control-group.checkbox_group_wrap { 
	margin-bottom: 0px !important; 
}

/* Form Styling */
.an-form.join-us #can_embed_form_inner #form_col1 { 
	display: flex; 
	flex-direction: row; 
	flex-wrap: wrap; 
	justify-content: space-between;
	row-gap: var(--wp--preset--spacing--small);
	column-gap: calc(var(--wp--preset--spacing--small)*2);
	align-items: baseline;
}

.an-form li:not(.checkbox_group_wrap), .an-form #action_welcome_message { 
width: calc(50% - var(--wp--preset--spacing--small)); 
}

.an-form .control-group.checkbox_group_wrap { 
	margin-bottom:  var(--wp--preset--spacing--x-small);
	width: 100%; 
}

.an-form .floatlabel-wrapper, .an-form .core_field {
	display: flex; 
	flex-direction: row;
	gap: var(--wp--preset--spacing--xxx-small);
	align-items: flex-end;
}

.an-form .controls.check_radio_field { 
	display: inline-flex;
    flex-wrap: wrap;
    column-gap: calc(var(--wp--preset--spacing--small)*2);
	row-gap: var(--wp--preset--spacing--xxx-small);
}

.an-form label:not(.checkbox) {
	min-width: fit-content;
	font-family: var(--wp--preset--font-family--primary);
	font-weight: 700 !important;
	font-size: var(--wp--preset--font-size--base);
	text-transform: uppercase;
	padding-bottom: 4px;
}

.an-form label.checkbox {
	min-width: fit-content;
	min-height: 32px; 
	width: calc(50% - var(--wp--preset--spacing--small)); 
	font-family: var(--wp--preset--font-family--secondary);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--base);
	display: flex;
    align-items: center;
    gap: var(--wp--preset--spacing--xxx-small);
}


.an-form input:not([type="submit"]) {
	background-color: transparent;
}


.an-form input:not([type="submit"]) {
	border-radius: 0;
	border-left: 0;
	border-bottom: 2px dashed var(--wp--preset--color--black);
	border-right: 0;
	border-top: 2px solid transparent;
	font-family: var(--wp--preset--font-family--secondary);
	font-weight: 700 !important;
	color: var(--wp--preset--color--black) !important;
	font-size: var(--wp--preset--font-size--base);
	padding: 4px;
}


.an-form  input:focus-visible, 
.an-form  input:active, 
.an-form  input:focus {
	border: 2px dashed var(--wp--preset--color--black);
}


.an-form  input:autofill, 
.an-form  input:-internal-autofill-selected  { 
	background-color: var(--wp--preset--color--red) !important;
}


.an-form input[type="submit"] {
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--medium);
    font-style: normal;
    font-weight: 800;
    letter-spacing: 0.05em;
    padding-top: 7px;
    padding-right: 14px;
    padding-bottom: 7px;
    padding-left: 14px;
	text-transform: uppercase;
	cursor: pointer !important;
	--button-color: var(--wp--preset--color--purple-black);
	transition: all 0.3s ease;
}

/* Default (filled) */

.an-form input[type="submit"] {
    background-color: var(--button-color);
    border: 2px solid var(--button-color);
    color: var(--wp--preset--color--white);
	margin-top: var(--wp--preset--spacing--xxx-small);
}

/* Hover (filled variant behavior) */

.an-form input[type="submit"]:hover {
    background-color: transparent !important;
    border-color: var(--button-color) !important;
    border-style: dashed !important;
    color: var(--button-color);
}

/* Focus-visible for accessibility */

.an-form input[type="submit"]:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--button-color) 60%, white);
    outline-offset: 2px;
}

/* Disabled */
.an-form input[type="submit"]:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.an-form input::placeholder {
	color: var(--wp--preset--color--black) !important;
	opacity: 0 !important; 
}

.an-form #can_embed_form_inner #form_col1 { 
	margin-bottom: var(--wp--preset--spacing--small);
}

/* Post Submission */
.an-form .core_field:has(.error_input)::after { 
	content: "Please fill out this field correctly." !important; 
	font-size: var(--wp--preset--font-size--small); 
	line-height: 1.1;
}

.an-form .email_validation.js-email_validation { 
		font-size: var(--wp--preset--font-size--small); 
	line-height: 1.1;
}

.an-form:has(#action_welcome_message) { width: 100% !important; }

.an-form *:has(input[type="submit"]) {
	width: 100%;
}

/* Action Network Check Boxes */
.checkbox_group_wrap input[type="checkbox"].checkbox_group {
    -webkit-appearance: none;
    appearance: none;
    inline-size: 18px;
    block-size: 18px;
    margin: 0 0 0 0;                /* space before the label text */
    border: 2px solid currentColor;   /* outline only, uses text color */
    background: transparent;          /* no background fill */
    display: inline-grid;
    place-content: center;
    vertical-align: text-bottom;
    cursor: pointer;
    transition: all 0.2s ease;
}

/* Draw the checkmark */
.checkbox_group_wrap input[type="checkbox"].checkbox_group::before {
    content: "";
    inline-size: 10px;
    block-size: 10px;
    transform: scale(0);
    transition: transform 0.15s ease;
    /* Checkmark shape */
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0, 43% 62%);
    background: currentColor;
}

/* Checked state: show checkmark; keep background transparent */
.checkbox_group_wrap input[type="checkbox"].checkbox_group:checked {
    background: transparent;
    border-color: currentColor;
}

.checkbox_group_wrap input[type="checkbox"].checkbox_group:checked::before {
    transform: scale(1);
}

/* Focus-visible ring for keyboard users */
.checkbox_group_wrap input[type="checkbox"].checkbox_group:focus-visible {
    outline: 2px solid color-mix(in srgb, currentColor 60%, white);
    outline-offset: 2px;
}

/* Disabled appearance (if Action Network uses disabled) */
.checkbox_group_wrap input[type="checkbox"].checkbox_group:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Stay Connected Form*/ 

.an-form.stay-connected form {
	display: flex; 
	flex-direction: row; 
	gap: var(--wp--preset--spacing--small);
}

.an-form.stay-connected form > div:first-child {
    display: none !important
}

.an-form.stay-connected form > div.clear {
    display: none !important
}

.an-form.stay-connected #can_embed_form_inner #form_col1 { 
	margin-bottom: 0px !important; 
	width: 100% !important
}

.an-form.stay-connected #can_embed_form_inner #form_col1 li.core_field { 
	height: 100%; 
	display: flex;
    flex-direction: column;
}

.an-form.stay-connected label.control-label {
	display: none !important; 
}

.an-form.stay-connected input::placeholder {
	color: var(--wp--preset--color--black) !important;
	opacity: 1 !important; 
}

.an-form.stay-connected input {
	border: 2px dashed var(--wp--preset--color--black);
	padding-top: 7px;
    padding-right: 14px;
    padding-bottom: 7px;
    padding-left: 14px;
	height: 100%; 
}


.an-form.stay-connected li:not(.checkbox_group_wrap), .an-form.stay-connected #action_welcome_message { 
	width: 100% !important; 
}

.an-form.stay-connected label:not(.checkbox) {
	padding-bottom: 0px !important;
}

.an-form.stay-connected input[type="submit"] {
	margin-top: 0px !important;
}



/* Media Queries
---------------------------------------------------------------------------- */

@media only screen and (max-width: 780px) {
	
	/* Columns
	--------------------------------------------- */

	.is-style-columns-reverse {
		flex-direction: column-reverse;
	}

	footer a:has(.logo-svg) {
		order: -1; 
	}


	footer .wp-block-group.alignwide { 
		flex-direction: column; 
		align-items: flex-end; 
		}
	
	footer .wp-block-group .wp-block-group {
		align-items: flex-end;
		}

	
	/*Forms */
	.an-form li.core_field  { 
		width: 100%; 
		}
	
	.an-form.stay-connected form {
	flex-direction: column;
}

	/*Header */
	
	.wp-block-cover.alignfull { 
	min-height: 70vh !important;
	}
	

	.header-hero-cover, .header-hero-cover .wp-block-cover__inner-container { 
	padding-left: var(--wp--preset--spacing--small) !important;
    padding-right: var(--wp--preset--spacing--small) !important;
	}

	.header-hero-cover .wp-block-cover__inner-container { 
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	.header-hero-cover h1 { 
		font-size: var(--wp--preset--font-size--max-38); 
	}

}

@media only screen and (max-width: 599px) {


	header.site-header nav {
		order: 3;
	}

	header.site-header .header-nav-row nav 
	{ 
		margin-left: 0px;
	}	
	
	
	/* Utility
	--------------------------------------------- */

	.is-style-hidden-mobile {
		display: none !important;
	}

	.is-style-hidden-desktop { 
		display: block !important; 
	}
	
	header.site-header nav .mobile-logo {
	display: block; 
}

}

