/*
Theme Name:  Hello Elementor Cuzgow
Template:    hello-elementor          
Theme URI:   https://github.com/cuzgow/hello-elementor-cuzgow
Author:      Cuzgow
Author URI:  https://cuzgow.com/
Description: Child theme of Hello Elementor, optimised for WPO and scalability.
Version:     1.2.0                 
Requires at least: 6.0
Tested up to:      6.8
Requires PHP:      8.1
License:     GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: hello-elementor-cuzgow   
Tags: accessibility-ready, flexible-header, custom-colors, custom-menu,
      custom-logo, featured-images, rtl-language-support, threaded-comments,
      translation-ready
*/

/* --------------------------------------------------------------------
                          HTML ELEMENTS
------------------------------------------------------------------------ */

/* ------------ LINKS  ----------------- */
a {
  color: var(--color-light-4);
  font-weight: var(--font-weight-bold);

  text-decoration-style: solid; 
  text-decoration-line: underline;
  text-decoration-color: currentColor;
  text-underline-offset: var(--space-3xs);
  text-decoration-thickness: 0.08em;
  text-decoration-skip-ink: auto;

  overflow-wrap: break-word;
  cursor: pointer;
}

/* Hover feedback — mouse & trackpad only */
@media (hover: hover) and (pointer: fine) {
  a:hover {
    text-decoration-color: transparent;
  }
}

/* Mobile touch feedback */
@media (hover: none) and (pointer: coarse) {
  a {
    transition: opacity 0.1s ease-out;
  }

  a:active {
    opacity: 0.7;
  }
}

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  a {
    transition: none;
  }
}

a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: var(--space-3xs);
  border-radius: var(--radius-xs);
}

a svg {
  vertical-align: middle;
}

/* Probar qué hace
#wpadminbar a.ab-item::after {
	content: 														"";
}
*/



/* ------------ PARAGRAPHS  ----------------- */
p {
  margin: 0;
  margin-block-end: var(--space-m);
  max-width: var(--p-width);
  text-wrap: var(--text-wrap);
}



/* ------------ HEADINGS  ----------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--text-dark);
  font-family: var(--font-family-headings);
  font-weight: var(--font-weight-bold);
  font-stretch: var(--font-stretch-normal);
  line-height: var(--line-height-condensed);
  max-width: var(--heading-width);
  margin-block: 0;
  text-wrap: balance;
}

h1 { font-size: var(--font-size-h1); }
h2 { font-size: var(--font-size-h2); }
h3 { font-size: var(--font-size-h3); }
h4 { font-size: var(--font-size-h4); }
h5 { font-size: var(--font-size-h5); }
h6 { font-size: var(--font-size-h6); }



/* ------------ BLOCKQUOTE  ----------------- */
blockquote {
  max-width: var(--p-width);
  margin: 0;
  margin-block-end: var(--space-m);

  padding: var(--space-sm);
  border-inline-start: var(--space-xs) solid var(--color-light-3);
  border-radius: var(--radius-sm);

  background-color: var(--color-light-4);
  color: var(--text-light);

  font-weight: var(--font-weight-bold);
  text-wrap: var(--text-wrap);
}

blockquote::before {
  content: "\275D";
  font-size: 3em;
  line-height: 1;
  padding-inline-end: var(--space-3xs);
  vertical-align: bottom;
}

blockquote::after {
  content: "\275E";
  display: block;
  margin-block-start: var(--space-3xs);

  font-size: 3em;
  line-height: 1;
  text-align: end;
}

blockquote > p {
  margin: 0;
  padding: 0;

  font-size: var(--font-size-sm);
}

blockquote > p + p {
  margin-block-start: var(--space-xs);
}

blockquote > p span {
  display: block;
  margin-block: var(--space-xs);

  font-size: 1.1em;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-condensed);
}

blockquote cite {
  display: inline-block;
  font-style: italic;
}

/* .blockquote-sin-fondo
----------------------------- */
.blockquote-sin-fondo {
  background-color: transparent;
  border-inline-start: none;
  color: var(--color-light-4);
  text-align: start;
}

.blockquote-sin-fondo > p {
  margin-inline-start: var(--space-xs);
  margin-block-end: var(--space-xs);

  font-size: 1.2em;
}



/* ------------ MEDIA AND OBJECTS  ----------------- */

/* Replaced / embedded media */
img,
picture,
video,
canvas,
svg {
  max-width: 100%;
}

img,
picture,
video {
  height: auto;
}

img,
picture {
  display: block;
}

picture {
  margin-inline: auto;
}

/* Embedded content */
iframe,
embed,
object {
  max-width: 100%;
}

/* Audio */
audio {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
}

/* Progress is a form/status element, not media */
progress {
  display: inline-block;
  vertical-align: baseline;
}

/* Figures */
figure {
  max-width: var(--p-width);
  margin-inline: auto;
  margin-block: 0 var(--space-xl);
  text-align: center;
}

figcaption {
  margin-block-start: var(--space-xs);

  font-family: var(--font-family-headings);
  font-size: var(--font-size-sub);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-condensed);
  color: var(--color-light-4);
  text-align: center;
}

/* Figures inside content
----------------------------- */
.entry-content figure,
.wp-block-image {
  max-width: var(--p-width);
  margin-inline: auto;
  margin-block: 0 var(--space-xl);
  text-align: center;
}

.entry-content figcaption,
.wp-block-image figcaption {
  margin-block-start: var(--space-xs);

  font-family: var(--font-family-headings);
  font-size: var(--font-size-sub);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-condensed);
  color: var(--color-light-4);
  text-align: center;
}



/* ------------ LISTS  ----------------- */

ul,
ol,
dl {
  margin-block: 0 var(--space-m);
  max-width: var(--li-width);
  text-wrap: var(--text-wrap);
}

ul,
ol {
  padding-inline-start: var(--space-l);
}

li {
  line-height: var(--line-height-normal);
  overflow-wrap: break-word;
}

li + li {
  margin-block-start: var(--space-xs);
}

/* revisar */
li > ul,
li > ol {
  margin-block: var(--space-xs) 0;
}

li::marker {
  color: var(--color-light-4);
  font-weight: var(--font-weight-bold);
}

/* Definition lists
----------------------------- */
dt {
  margin-block-end: var(--space-2xs);

  color: var(--color-light-5);
  font-size: var(--font-size-h6);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-condensed);
}

dd {
  margin-inline-start: var(--space-l);
  margin-block: 0 var(--space-m);

  max-width: var(--p-width);
  padding: var(--space-m);

  background-color: var(--color-light-2);
  color: var(--text-dark);
  border-radius: var(--radius-sm);

  text-align: start;
  overflow-wrap: anywhere;
}

@media only screen and (max-width: 1024px) {
  dd {
    margin-inline-start: var(--space-xs);
    padding: var(--space-s);
  }
}

/* shadow for definition list
----------------------------- */
.cuzgow-definition-card {
  box-shadow:
    -6px -6px 12px rgb(255 255 255 / 0.6),
     6px  6px 12px rgb(0 0 0 / 0.15);
}



/* ------------ LISTS  ----------------- */
hr {
	box-sizing: 									content-box; 
	height: 											0; 
	overflow: 										visible;
	border-width: 								0;
	border-collapse: 							collapse;
	border-top: 									3px solid currentColor;
	color: 												var(--color-sat-4);
	clear: 												both;
	margin: 											1em 0;
}



/* ------------ ADDRESS ----------------- */
address {
  text-align: end;
  /*
  margin-block-end: var(--space-l);*/
  font-size: var(--font-size-sub);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-condensed);
  overflow-wrap: break-word;
}


address > p {
  margin-block-end: var(--space-2xs);
}



/* ------------ TEXT SEMANTICS ----------------- */
dfn,
cite,
em,
i {
  font-style: italic;
}

code,
kbd,
samp {
  font-family: var(--font-family-mono);
  font-size: var(--font-size-sub);
}

b,
strong {
  font-weight: var(--font-weight-bold);
}

pre {
  font-family: var(--font-family-mono);
  font-size: var(--font-size-sub);
  white-space: pre;
  overflow-x: auto;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline dotted;
  letter-spacing: var(--letter-spacing-wide);
}

small {
  font-size: .8em;
}

sub,
sup {
  font-size: .6em;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}


/* END ELEMENTS
------------------------------------------------------------------------
------------------------------------------------------------------------ */


/* TABLES
------------------------------------------------------------------------
------------------------------------------------------------------------ */
/* Gutenberg/content tables */
.entry-content .wp-block-table {
  margin-block-end: var(--space-m);
  overflow-x: auto;
}

.entry-content .wp-block-table table,
.entry-content table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--font-size-sub);
}

.entry-content th,
.entry-content td {
  padding: var(--space-xs);
  line-height: var(--line-height-normal);
  vertical-align: top;
  border: 1px solid rgba(128, 128, 128, .5);
}

.entry-content thead th {
  font-weight: var(--font-weight-bold);
  border-bottom: 2px solid rgba(128, 128, 128, .6);
}

.entry-content tbody tr:nth-child(odd) {
  background-color: rgba(128, 128, 128, .07);
}

@media (max-width: 600px) {
  .entry-content > table {
    display: block;
    overflow-x: auto;
  }
}
/* END TABLES
------------------------------------------------------------------------
------------------------------------------------------------------------ */



/* CTA AND FORMS BUTTONS
------------------------------------------------------------------------ 
------------------------------------------------------------------------ */
/**
	* This is for saffari and ios bug (input type = file)
	* 1. Correct the inability to style clickable types in iOS and Safari.
	* 2. Change font properties to `inherit` in Safari.
	*/

	button {
		-webkit-appearance: button;
		appearance: none;
	}

/* ------------ CTA links ----------------- */
a.cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2xs);

  max-inline-size: 100%;

  font-family: inherit;
  font-size: var(--font-size-h6);
  line-height: var(--line-height-condensed);
  letter-spacing: var(--letter-spacing-wide);
  text-align: center;
  text-wrap: pretty;
  text-decoration: none;

  border: 2px solid transparent;
  border-radius: var(--radius-md);
  cursor: pointer;

  transition: transform 0.2s ease-in;
}

/* Hover feedback — mouse & trackpad only */
@media (hover: hover) and (pointer: fine) {
  a.cta:hover {
    transform: scale(1.06);
    transition: transform 0.2s ease-in-out;
  }
}

/* Touch press feedback — mobile equivalent of hover feedback */
@media (hover: none) and (pointer: coarse) {
  a.cta:active {
    transform: scale(1.06);
    transition: transform 0.2s ease-in-out;
  }
}

/* Keyboard accessibility — always */
a.cta:focus-visible {
  outline: 2px solid var(--color-light-5);
  outline-offset: 3px;
}

/* CTA colour variants */
a.cta.cta--dark {
  color: var(--text-light);
  text-shadow: var(--text-shadow-dark);
  background: linear-gradient(
    135deg,
    var(--brand-color) 0%,
    var(--brand-neutral) 100%
  );
}

a.cta.cta--light {
  color: var(--text-dark);
  text-shadow: var(--text-shadow-light);
  background: linear-gradient(
    135deg,
    var(--color-light-1),
    var(--color-light-2)
  );
  border-color: var(--brand-color);
}

/* CTA size variants */
a.cta.cta--narrow {
  padding-block: var(--space-xs);
  padding-inline: var(--space-m);
}

a.cta.cta--wide {
  min-block-size: var(--space-xl);
  padding-block: var(--space-s);
  padding-inline: var(--space-l);
}

/* ------------ Regular buttons ----------------- */
a.button,
button,
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2xs);

  font-family: inherit;
  font-size: var(--font-size-h6);
  line-height: var(--line-height-condensed);
  letter-spacing: var(--letter-spacing-wide);
  text-align: center;
  text-wrap: pretty;
  text-decoration: none;


  border: 1px solid transparent;
  border-radius: var(--radius-m);
  cursor: pointer;

  transition: transform 0.2s ease-in;
}

/* Hover feedback — mouse & trackpad only */
@media (hover: hover) and (pointer: fine) {
  a.button:hover,
  button:hover,
  .button:hover {
    transform: scale(1.06);
    transition: transform 0.2s ease-in-out;
  }
}

/* Touch press feedback — mobile equivalent of hover feedback */
@media (hover: none) and (pointer: coarse) {
  a.button:active,
  button:active,
  .button:active {
    transform: scale(1.06);
    transition: transform 0.2s ease-in-out;
  }
}

/* Keyboard accessibility — always */
a.button:focus-visible,
button:focus-visible,
.button:focus-visible {
  outline: 2px solid var(--color-light-5);
  outline-offset: 2px;
}

/* ---------  Button colour variants ----------------- */

/* Dark regular button */
.button--dark {
  color: var(--text-light);
  text-shadow: var(--text-shadow-dark);
  background: linear-gradient(
    135deg,
    var(--brand-neutral) 0%,
    var(--brand-neutral) 45%,
    var(--brand-color) 100%
  );
}

/* Light regular button */
.button--light {
  color: var(--text-dark);
  text-shadow: var(--text-shadow-light);
  background: linear-gradient(
    135deg,
    var(--color-light-1),
    var(--color-light-2)
  );
  border-color: var(--brand-color);
}

/* Narrow size variant */
.button--narrow {
  padding-block: var(--space-2xs);
  padding-inline: var(--space-s);
}

/* Wide size variant */
.button--wide {
  min-block-size: var(--space-xl);
  padding-block: var(--space-xs);
  padding-inline: var(--space-m);
}

/* END BUTTONS
------------------------------------------------------------------------ 
------------------------------------------------------------------------ */



/* LAYOUT
------------------------------------------------------------------------ 
------------------------------------------------------------------------ */
/* Bloque para SITE CONTENT revisar*** esto es antiguo
Layout 	- .site-main --> div
					- .content-area	--> div
						- .site-main --> main
							- article
								- .entry-content --> div
*/

.site-main,
main {
  margin-block: 0;
  margin-inline: auto;
  padding: 0;
  padding-inline: 10vw;
}

@media (max-width: 1024px) {
  .site-main,
  main {
    padding-inline: 8vw;
  }
}

@media (max-width: 600px) {
  .site-main,
  main {
    padding-inline: var(--space-s);
    /*padding-inline: min(1.6rem, 5vw);*/
  }
}


/* END LAYOUT
------------------------------------------------------------------------
------------------------------------------------------------------------ */



/* ACCESSIBILITY 
------------------------------------------------------------------------ 
------------------------------------------------------------------------ */

/* hide visually, keep for screen readers */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  white-space: nowrap;
  overflow-wrap: normal !important;
}

/* Make it visible when focused (keyboard users) */
.screen-reader-text:focus {
  background-color: var(--color-light-1);
  clip: auto !important;
  clip-path: none;
  color: var(--text-dark);
  display: block;
  font-size: var(--font-size-sub);
  height: auto;
  inset-inline-start: 5px;
  inset-block-start: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  width: auto;
  z-index: 100000;
}

/* END ACCESSIBILITY
------------------------------------------------------------------------
------------------------------------------------------------------------ */



/*  NORMALISE AND RESET FORMS 
------------------------------------------------------------------------
------------------------------------------------------------------------ */
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: var(--font-size-p);
  line-height: var(--line-height-normal);
  margin: 0;
}

textarea {
  overflow: auto;
  resize: vertical;
}

label {
  display: inline-block;
  line-height: var(--line-height-condensed);
  vertical-align: middle;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

select {
  display: block;
}

input[type="button"],
input[type="submit"],
input[type="reset"] {
  display: block;
  color: var(--text-light);
  padding: var(--space-xs);
  font-size: var(--font-size-h6);
  font-stretch: var(--font-stretch-normal);
  font-variant-caps: var(--font-variant-caps-small);
  letter-spacing: var(--letter-spacing-wide);
  border: 1px solid transparent;
  width: min(300px, 60vw);
  text-align: center;
  background: linear-gradient(135deg, var(--brand-color), var(--color-light-4));
  border-radius: var(--radius-xs);
  margin-block-end: max(5%, var(--space-l));
  margin-inline: auto;
}

input[type="text"],
input[type="date"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
select,
textarea {
  width: 100%;
  border: 1px solid var(--color-light-4);
  border-radius: var(--radius-xs);
  padding-block: var(--space-2xs);
  padding-inline: var(--space-xs);
  transition: border-color .2s ease, box-shadow .2s ease;
}

input[type="text"]:focus,
input[type="date"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus {
  border-color: var(--color-sat-4);
  box-shadow: 0 0 0 2px var(--color-sat-3);
}


[type="submit"]:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled) {
  cursor: pointer;
}

fieldset {
  padding-block: var(--space-3xs) var(--space-2xs);
  padding-inline: var(--space-xs);
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::file-selector-button {
  font: inherit;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

/*[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}*/


/* Disable transitions for form buttons on touch-only devices */
/*
@media (hover: none) and (pointer: coarse) {
  input[type=button],
  input[type=submit],
  input[type=reset] {
    transition: none;
  }
}*/

/* END normalize + reset forms 
------------------------------------------------------------------------
------------------------------------------------------------------------ */



/* WORDPRESS CLASSES
------------------------------------------------------------------------
------------------------------------------------------------------------ */
.alignright {
  float: right;
  margin-left: var(--space-s);
}
.alignleft {
  float: left;
  margin-right: var(--space-s);
}
.aligncenter {
  clear: both;
  display: block;
  margin-inline: auto;
}
.aligncenter {
  clear: both;
  display: block;
  margin-inline: auto;
}
.alignwide {
  margin-inline: -80px;
}


/* este código para copiar en el editor de elementor para full width
------------------------------------------------------------------------ */
.alignfull {
  inline-size: 100vw;
  max-inline-size: 100vw;
  margin-inline-start: calc(50% - 50vw);
  margin-inline-end: calc(50% - 50vw);
  margin-block-end: max(10%, 80px);
  overflow: hidden;
  overflow: clip;
  padding-block: max(7%, 50px);
  padding-inline: 10vw;
}


@media only screen and (max-width: 1024px){
	.alignfull{
		padding-inline: 		8vw;
	}
}


@media only screen and (max-width: 600px){
	.alignfull{
  padding-inline: var(--space-s);
    /*padding-inline: min(1.6rem, 5vw);*/
	}
}

.alignfull img {
  width: 100vw;
}

.wp-caption {
  margin-block-end: var(--space-m);
  max-width: 100%;
}

.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}

.wp-caption img {
  display: block;
  margin-inline: auto;
}

.wp-caption-text {
  margin: 0;
}

.gallery-caption {
  display: block;
  font-size: var(--font-size-xs);
  line-height: var(--line-height-normal);
  margin: 0;
  padding: var(--space-xs);
}

.pagination {
  margin-block: var(--space-m);
  margin-inline: auto;
}

.sticky {
  position: relative;
  display: block;
}

.bypostauthor {
  font-size: inherit;
}

.hide {
  display: none !important;
}

.post-password-form p {
  display: flex;
  align-items: flex-end;
  width: 100%;
}

.post-password-form [type=submit] {
	margin-inline-start: 													3px;
}
.post-password-form [type="submit"] {
  margin-inline-start: var(--space-3xs);
}

/* Post item — archive pages */
.post .entry-title a {
  text-decoration: none;
}

.post .wp-post-image {
  width: 100%;
  max-height: 500px;
  object-fit: cover;
}

@media (max-width: 991px) {
  .post .wp-post-image {
    max-height: 400px;
  }
}

@media (max-width: 575px) {
  .post .wp-post-image {
    max-height: 300px;
  }
}

/* ------------ More link ----------------- */
.more-link {
  display: inline-block;
  margin-block-start: var(--space-xs);
}

/* END WORDPRESS CLASSES 
------------------------------------------------------------------------
------------------------------------------------------------------------ */


/* PRINT (revisar ****)
------------------------------------------ */
@media print {
	*,
	*:before,
	*:after {
		background: transparent !important;
		color: #000 !important; /* Black prints faster */
		-webkit-box-shadow: none !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]:after {
		content: " (" attr(href) ")";
	}
	
	abbr[title]:after {
		content: " (" attr(title) ")";
	}

	a[href^="#"]:after,
	a[href^="javascript:"]:after {
		content: "";
	}

	pre {
		white-space: pre-wrap !important;
	}
	
	pre,
	blockquote {
		break-inside: avoid;
		border: 1px solid #cccccc;
	}

	thead {
		display: table-header-group;
	}

	tr,
	img {
		break-inside: avoid;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		break-after: avoid;
	}
}

/* End print
---------------------------------- */
/* End Import from parent theme
------------------------------------------------------------------------
------------------------------------------------------------------------ */
