/*

 Theme Name:   GeneratePress Child

 Theme URI:    https://generatepress.com

 Description:  Default GeneratePress child theme

 Author:       Tom Usborne

 Author URI:   https://tomusborne.com

 Template:     generatepress

 Version:      0.1

 /* Fluid Typography Scale 
 * https://theadminbar.com/simple-responsive-font-size-calculator/
*/

h1, .fs-h1 {
	font-size: clamp(3rem, 2.7273rem + 1.0909vw, 3.6rem);
}

h2, .fs-h2 {
	font-size: clamp(2.25rem, 2.0455rem + 0.8182vw, 2.7rem);
}

h3, .fs-h3 {
	font-size: clamp(1.875rem, 1.7045rem + 0.6818vw, 2.25rem);
}

h4, .fs-h4 {
	font-size: clamp(1.5rem, 1.3636rem + 0.5455vw, 1.8rem);
}

h5, .fs-h5 {
	font-size: clamp(1.25rem, 1.1364rem + 0.4545vw, 1.5rem);
}

h6, .fs-h6 {
	font-size: clamp(1.125rem, 1.0227rem + 0.4091vw, 1.35rem);
}

p, .fs-p {
	font-size: clamp(0.8333rem, 0.7576rem + 0.303vw, 1rem);
}

/* Theme Tweaks */
.site-header {
	padding-inline: clamp(0.848rem, 0.848rem + 0.768vw, 1.5rem);
}

/* Text Balance / Pretty */

:is(h1, h2, h3, h4, h5, h6), .balance {
	text-wrap: balance;
}

p, blockquote, li {
	text-wrap: pretty;
}

p:last-child:last-of-type {
	margin-bottom: 0px;
}

/* --- GP MENU ACCESSIBILITY TWEAK --- */

#site-navigation ul.sub-menu {
	display: block;
}

#site-navigation li:hover .gp-icon svg {
	transform: rotate(180deg);
}

#site-navigation li:hover .sub-menu {
	visibility: visible;
}

.cogwheel {
  display: inline-block;
  animation: spin 150s linear infinite;
  transform-origin: center;
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(-360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .cogwheel {
    animation: none;
  }
}

@media (max-width: 1024px) {
  .cogwheel {
    animation: none;
  }
}

.stretch-link{
    position: relative;
}
.stretch-link a::after{
    content: '';
    position: absolute;
    inset: 0;
}
.stretch-link a:is(:focus-visible)::after{
    outline: 2px solid;
}
.stretch-link a:is(:hover, :focus){
    outline: none;
}

/* De Blueprint Grid Klasse */
.blueprint-grid {
    --grid-color: rgba(0, 85, 255, 0.05); /* Het blauw van de lijntjes */
    --grid-size: 40px; /* Grootte van de vakjes */
    
    background-image: 
        linear-gradient(var(--grid-color) 1px, transparent 1px), 
        linear-gradient(90deg, var(--grid-color) 1px, transparent 1px);
    background-size: var(--grid-size) var(--grid-size);
}

/* De verticale blueprint lijn */
.blueprint-line-container {
    position: relative;
    padding-top: 50px;
    padding-bottom: 50px;
}

.blueprint-line-container::before {
    content: '';
    position: absolute;
    left: 50%; /* Lijn in het midden */
    top: 0;
    bottom: 0;
    width: 1px;
    background-color: #0055ff; /* Jouw blauwe kleur */
    opacity: 0.3;
    z-index: 1;
}

/* De bolletjes op de Grid blokken */
.blueprint-node {
    position: relative;
}

.blueprint-node::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 12px;
    height: 12px;
    background: #ffffff;
    border: 2px solid #0055ff;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

/* Mobiel: Lijn naar links verplaatsen */
@media (max-width: 768px) {
    .blueprint-line-container::before {
        display: none;
    }
    .blueprint-node::after {
        display: none;
    }
}

.gradient-text {
  background: linear-gradient(135deg, #1a9fff, #0066cc);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 700;
}

.breadcrumb-title {
    display: inline-block;
    max-width: 45ch;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
}

.blob-mask {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M48.8,-58.3C60.4,-48.5,64.9,-30.3,64.4,-14.2C63.9,2,58.4,16.3,52,32.6C45.7,48.8,38.4,67.1,26.6,70C14.8,73,-1.4,60.7,-19.4,53.9C-37.4,47.1,-57.1,45.7,-64.2,35.9C-71.2,26,-65.7,7.7,-63.3,-12C-60.8,-31.8,-61.5,-53,-51.5,-63.1C-41.5,-73.3,-20.7,-72.4,-1.1,-71.1C18.6,-69.8,37.2,-68.2,48.8,-58.3Z' transform='translate(100 100)'/%3E%3C/svg%3E");
  -webkit-mask-size: cover;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M48.8,-58.3C60.4,-48.5,64.9,-30.3,64.4,-14.2C63.9,2,58.4,16.3,52,32.6C45.7,48.8,38.4,67.1,26.6,70C14.8,73,-1.4,60.7,-19.4,53.9C-37.4,47.1,-57.1,45.7,-64.2,35.9C-71.2,26,-65.7,7.7,-63.3,-12C-60.8,-31.8,-61.5,-53,-51.5,-63.1C-41.5,-73.3,-20.7,-72.4,-1.1,-71.1C18.6,-69.8,37.2,-68.2,48.8,-58.3Z' transform='translate(100 100)'/%3E%3C/svg%3E");
  mask-size: cover;
  mask-repeat: no-repeat;
  mask-position: center;
}

@media (max-width: 768px) {
    .text-shadow-white {
        color: #000;
        font-weight: 700;
        text-shadow: 0 0 6px #fff, 0 0 3px #fff;
    }
}