/*
Theme Name: Arture Modern
Theme URI: https://www.arture.nl
Author: Arture
Author URI: https://www.arture.nl
Description: Fris Bootstrap WordPress thema voor Arture. Gericht op maatwerk WordPress, API koppelingen, hybrid app ontwikkeling en StoreContrl aanvragen zonder WooCommerce checkout.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
Text Domain: arture-modern
License: GNU General Public License v2 or later
*/

:root{
  --arture-blue:#3498db;
  --arture-blue-dark:#0b5fa5;
  --arture-blue-soft:#eaf6ff;
  --arture-ink:#0f172a;
  --arture-muted:#64748b;
  --arture-line:#dbeafe;
  --arture-radius:28px;
}

html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--arture-ink);background:#fff;line-height:1.65}
a{color:var(--arture-blue);text-decoration:none} a:hover{color:var(--arture-blue-dark)}

.arture-navbar{background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(219,234,254,.8)}
.arture-brand{font-weight:900;letter-spacing:-.04em;font-size:1.55rem;color:var(--arture-ink)}
.arture-brand-mark{width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,var(--arture-blue),#73c6ff);box-shadow:0 14px 30px rgba(52,152,219,.35)}
.navbar-nav .nav-link{font-weight:700;color:#334155}.navbar-nav .nav-link:hover{color:var(--arture-blue)}

.btn-arture{--bs-btn-bg:var(--arture-blue);--bs-btn-border-color:var(--arture-blue);--bs-btn-hover-bg:var(--arture-blue-dark);--bs-btn-hover-border-color:var(--arture-blue-dark);--bs-btn-color:#fff;--bs-btn-hover-color:#fff;border-radius:999px;font-weight:800;padding:.85rem 1.25rem;box-shadow:0 18px 34px rgba(52,152,219,.28)}
.btn-arture-outline{border:1px solid var(--arture-line);background:#fff;border-radius:999px;font-weight:800;color:var(--arture-ink);padding:.85rem 1.25rem}.btn-arture-outline:hover{border-color:var(--arture-blue);color:var(--arture-blue)}

.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 15% 20%,rgba(52,152,219,.25),transparent 32%),linear-gradient(180deg,#f8fcff 0%,#fff 82%);padding:7.5rem 0 5rem}.hero:after{content:"";position:absolute;inset:auto -10% -30% 45%;height:500px;background:radial-gradient(circle,rgba(52,152,219,.18),transparent 62%);pointer-events:none}.hero h1{font-size:clamp(2.7rem,6vw,5.8rem);line-height:.96;letter-spacing:-.07em;font-weight:950}.hero .lead{font-size:1.22rem;color:var(--arture-muted);max-width:660px}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--arture-line);background:#fff;border-radius:999px;padding:.45rem .8rem;font-weight:800;color:var(--arture-blue);font-size:.9rem}.eyebrow:before{content:"";width:.55rem;height:.55rem;border-radius:99px;background:var(--arture-blue)}
.hero-card{position:relative;background:rgba(255,255,255,.9);border:1px solid var(--arture-line);border-radius:var(--arture-radius);box-shadow:0 30px 90px rgba(15,23,42,.12);padding:1.35rem}.code-panel{background:#071426;color:#cfe8ff;border-radius:22px;padding:1.25rem;font-family:"SFMono-Regular",Consolas,monospace;font-size:.86rem}.code-panel .ok{color:#70f0aa}.code-panel .blue{color:#73c6ff}.metric{background:#fff;border:1px solid var(--arture-line);border-radius:20px;padding:1rem}.metric strong{display:block;font-size:1.9rem;line-height:1;font-weight:950;color:var(--arture-blue)}
.section{padding:5rem 0}.section-soft{background:#f8fcff}.section-title{font-weight:950;letter-spacing:-.045em;font-size:clamp(2rem,4vw,3.4rem)}.section-text{color:var(--arture-muted);font-size:1.08rem}.service-card,.work-card{height:100%;border:1px solid var(--arture-line);border-radius:24px;background:#fff;padding:1.5rem;transition:.22s ease;box-shadow:0 18px 55px rgba(15,23,42,.055)}.service-card:hover,.work-card:hover{transform:translateY(-4px);box-shadow:0 28px 70px rgba(15,23,42,.1);border-color:#b7dcfb}.service-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:var(--arture-blue-soft);color:var(--arture-blue);font-size:1.35rem;margin-bottom:1.1rem}.service-card h3{font-weight:900;letter-spacing:-.025em}.pill-list{display:flex;flex-wrap:wrap;gap:.55rem}.pill-list span{border:1px solid var(--arture-line);background:#fff;border-radius:999px;padding:.45rem .7rem;font-weight:700;font-size:.88rem;color:#334155}

.form-shell{background:#fff;border:1px solid var(--arture-line);border-radius:var(--arture-radius);box-shadow:0 30px 90px rgba(15,23,42,.1);padding:clamp(1.25rem,3vw,2rem)}.form-control,.form-select{border-radius:16px;border-color:#d7e8f8;padding:.85rem 1rem}.form-control:focus,.form-select:focus{border-color:var(--arture-blue);box-shadow:0 0 0 .25rem rgba(52,152,219,.14)}.form-label{font-weight:800;color:#334155}.arture-alert{border-radius:18px;border:1px solid var(--arture-line);background:var(--arture-blue-soft);padding:1rem;color:#075985}

.footer{background:#071426;color:#dbeafe;padding:4rem 0 2rem}.footer a{color:#dbeafe}.footer a:hover{color:#fff}.footer .brand{font-weight:950;color:#fff;font-size:1.4rem}.footer hr{border-color:rgba(255,255,255,.12)}

.wp-block-image img{height:auto}.alignwide{max-width:1180px;margin-inline:auto}.alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw;width:100vw}

/* Header/menu refinement */
.arture-navbar{z-index:1030;box-shadow:0 14px 40px rgba(15,23,42,.04)}
.arture-navbar .container{min-height:92px}
.custom-logo{max-height:82px;width:auto}
.arture-navbar .navbar-nav{gap:.25rem}
.arture-navbar .navbar-nav>li{position:relative}
.arture-navbar .navbar-nav .nav-link,
.arture-navbar .navbar-nav>li>a{display:flex;align-items:center;gap:.35rem;border-radius:999px;padding:.7rem .95rem;font-weight:800;color:#0f7fd6;line-height:1.2;transition:.18s ease}
.arture-navbar .navbar-nav .nav-link:hover,
.arture-navbar .navbar-nav>li>a:hover,
.arture-navbar .navbar-nav>.current-menu-item>a,
.arture-navbar .navbar-nav>.current-menu-ancestor>a{background:var(--arture-blue-soft);color:var(--arture-blue-dark)}
.arture-navbar .menu-item-has-children>a:after{content:"\f282";font-family:"bootstrap-icons";font-size:.72rem;margin-left:.15rem;transition:.18s ease}
.arture-navbar .menu-item-has-children:hover>a:after{transform:rotate(180deg)}
.arture-navbar .sub-menu{position:absolute;left:0;top:calc(100% + .65rem);z-index:20;min-width:230px;margin:0;padding:.55rem;list-style:none;background:rgba(255,255,255,.97);border:1px solid var(--arture-line);border-radius:20px;box-shadow:0 24px 70px rgba(15,23,42,.14);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease}
.arture-navbar li:hover>.sub-menu,
.arture-navbar li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.arture-navbar .sub-menu a{display:block;border-radius:14px;padding:.65rem .75rem;color:#0f7fd6;font-weight:750;white-space:nowrap}
.arture-navbar .sub-menu a:hover{background:var(--arture-blue-soft);color:var(--arture-blue-dark)}
.arture-navbar .sub-menu .sub-menu{left:calc(100% + .55rem);top:0}
.navbar-toggler{border:1px solid var(--arture-line);border-radius:14px;padding:.65rem}.navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(52,152,219,.18)}

@media (max-width: 991.98px){
  .arture-navbar .container{min-height:auto}.custom-logo{max-height:62px}.arture-navbar .navbar-collapse{margin-top:1rem;padding:1rem;background:#fff;border:1px solid var(--arture-line);border-radius:22px;box-shadow:0 20px 60px rgba(15,23,42,.08)}
  .arture-navbar .navbar-nav .nav-link,.arture-navbar .navbar-nav>li>a{justify-content:space-between;border-radius:16px;padding:.85rem 1rem}
  .arture-navbar .sub-menu{position:static;visibility:visible;opacity:1;transform:none;box-shadow:none;border:0;background:var(--arture-blue-soft);margin:.25rem 0 .6rem 1rem;min-width:0}
  .arture-navbar .sub-menu a{white-space:normal}
  .arture-navbar .menu-item-has-children>a:after{transform:none!important}
}

/* Gravity Forms Arture styling */
.gform_wrapper.gravity-theme,
.gform_wrapper{font-family:inherit;color:var(--arture-ink)}
.gform_wrapper {
  border: 1px solid var(--arture-line);
  border-radius: 32px;
  background: linear-gradient(135deg,#fff,#f2f9ff);
  padding: clamp(1.5rem,4vw,3rem);
  box-shadow: 0 28px 80px rgba(15,23,42,.08);
}
.form-shell .gform_wrapper{margin:0}
.gform_wrapper.gravity-theme .gform_fields{grid-row-gap:1rem;grid-column-gap:1rem}
.gform_wrapper.gravity-theme .gfield_label,
.gform_wrapper .gfield_label{font-weight:850;color:#334155;margin-bottom:.45rem;font-size:.96rem}
.gform_wrapper.gravity-theme .gfield_required{color:var(--arture-blue)}
.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme input[type="url"],
.gform_wrapper.gravity-theme input[type="number"],
.gform_wrapper.gravity-theme input[type="password"],
.gform_wrapper.gravity-theme textarea,
.gform_wrapper.gravity-theme select,
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper textarea,
.gform_wrapper select{width:100%;border:1px solid #d7e8f8;border-radius:16px;background:#fff;padding:.9rem 1rem;font-size:1rem;line-height:1.45;color:var(--arture-ink);box-shadow:none;transition:.18s ease}
.gform_wrapper.gravity-theme textarea,
.gform_wrapper textarea{min-height:140px;resize:vertical}
.gform_wrapper.gravity-theme input:focus,
.gform_wrapper.gravity-theme textarea:focus,
.gform_wrapper.gravity-theme select:focus,
.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus{outline:0;border-color:var(--arture-blue);box-shadow:0 0 0 .25rem rgba(52,152,219,.14)}
.gform_wrapper.gravity-theme .gfield_description,
.gform_wrapper .gfield_description{color:var(--arture-muted);font-size:.9rem;padding-top:.35rem}
.gform_wrapper.gravity-theme .gchoice{display:flex;align-items:flex-start;gap:.6rem;margin:.35rem 0}
.gform_wrapper.gravity-theme input[type="checkbox"],
.gform_wrapper.gravity-theme input[type="radio"]{width:1.1rem;height:1.1rem;margin-top:.2rem;accent-color:var(--arture-blue)}
.gform_wrapper.gravity-theme .gform_footer,
.gform_wrapper .gform_footer{padding-top:1rem;margin-top:.5rem}
.gform_wrapper.gravity-theme .gform_footer input[type="submit"],
.gform_wrapper.gravity-theme .gform_button,
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--arture-blue)!important;background:var(--arture-blue)!important;color:#fff!important;border-radius:999px;font-weight:900;padding:.9rem 1.35rem;line-height:1.2;box-shadow:0 18px 34px rgba(52,152,219,.28);transition:.18s ease;min-height:auto}
.gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover,
.gform_wrapper.gravity-theme .gform_button:hover,
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_button:hover{background:var(--arture-blue-dark)!important;border-color:var(--arture-blue-dark)!important;transform:translateY(-1px)}
.gform_wrapper.gravity-theme .validation_message,
.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper .validation_message{border:0;background:#fff5f5;color:#b42318;border-radius:12px;margin-top:.45rem;padding:.55rem .7rem;font-weight:700;font-size:.88rem}
.gform_wrapper.gravity-theme .gform_validation_errors,
.gform_wrapper .validation_error{border:1px solid #fecaca!important;background:#fff5f5!important;color:#991b1b!important;border-radius:18px!important;box-shadow:none!important;padding:1rem!important;margin-bottom:1rem!important}
.gform_wrapper.gravity-theme .gform_confirmation_message,
.gform_confirmation_message{border:1px solid var(--arture-line);background:var(--arture-blue-soft);color:#075985;border-radius:18px;padding:1rem;font-weight:700}
.gform_wrapper.gravity-theme .gfield_error input,
.gform_wrapper.gravity-theme .gfield_error textarea,
.gform_wrapper.gravity-theme .gfield_error select{border-color:#fca5a5!important}
.gform_wrapper.gravity-theme .ginput_container_consent{display:flex;gap:.65rem;align-items:flex-start}.gform_wrapper.gravity-theme .ginput_container_consent input{margin-top:.25rem}

/* Bootstrap 5 navwalker menu */
.arture-navbar .dropdown-menu{border:1px solid var(--arture-line);border-radius:20px;box-shadow:0 24px 70px rgba(15,23,42,.14);padding:.55rem;margin-top:.65rem;min-width:230px}
.arture-navbar .dropdown-item{border-radius:14px;padding:.65rem .75rem;color:#0f7fd6;font-weight:750}
.arture-navbar .dropdown-item:hover,.arture-navbar .dropdown-item:focus,.arture-navbar .active>.dropdown-item{background:var(--arture-blue-soft);color:var(--arture-blue-dark)}
.arture-navbar .nav-link.dropdown-toggle::after{margin-left:.45rem;vertical-align:.12em}
@media (min-width: 992px){.arture-navbar .dropdown:hover>.dropdown-menu,.arture-navbar .dropend:hover>.dropdown-menu{display:block}.arture-navbar .dropend>.dropdown-menu{top:0;left:100%;margin-top:0;margin-left:.55rem}.arture-navbar .dropdown-toggle:active{pointer-events:none}}

.featured-card{overflow:hidden;border:1px solid var(--arture-line);border-radius:28px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.08)}
.featured-card h3{font-weight:950;letter-spacing:-.035em;font-size:clamp(1.7rem,3vw,2.5rem)}
.featured-card p{color:var(--arture-muted);font-size:1.05rem}.featured-visual{min-height:240px;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.5rem;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.85),transparent 28%),linear-gradient(135deg,var(--arture-blue),#93d5ff);color:#fff}.featured-visual i{font-size:5rem;filter:drop-shadow(0 20px 35px rgba(15,23,42,.22))}.featured-visual span{font-weight:950;font-size:1.5rem;letter-spacing:-.04em;text-align:right}.webshop-package{border:1px solid var(--arture-line);border-radius:32px;background:linear-gradient(135deg,#fff,#f2f9ff);padding:clamp(1.5rem,4vw,3rem);box-shadow:0 28px 80px rgba(15,23,42,.08)}.price-badge{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:190px;min-height:190px;border-radius:999px;background:#fff;border:1px solid var(--arture-line);box-shadow:0 18px 55px rgba(52,152,219,.14);color:var(--arture-ink)}.price-badge small,.price-badge span{color:var(--arture-muted);font-weight:800}.price-badge strong{color:var(--arture-blue);font-size:2.45rem;line-height:1;font-weight:950;letter-spacing:-.06em}
.arture-navbar .menu-item-has-children>a:after{font-family:inherit;content:"";display:inline-block;margin-left:.45em;vertical-align:.12em;border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent;font-size:inherit;transform:none!important;background:none;width:auto;height:auto}

.navbar .dropdown {
  position: relative;
}

.navbar .dropdown-menu {
  margin-top: 0;
  top: 100%;
}

@media (min-width: 992px) {
  .navbar .dropdown:hover > .dropdown-menu,
  .navbar .dropdown:focus-within > .dropdown-menu {
    display: block;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .navbar .dropdown-menu {
    display: block;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    pointer-events: none;
  }

  .navbar .dropdown:hover > .dropdown-menu,
  .navbar .dropdown:focus-within > .dropdown-menu {
    pointer-events: auto;
  }
}

.footer-menu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-menu li {
    margin-bottom: .75rem;
}

.footer-menu li:last-child {
    margin-bottom: 0;
}

.footer-menu a {
    color: rgba(255,255,255,.8);
    text-decoration: none;
    transition: .2s ease;
}

.footer-menu a:hover {
    color: #fff;
    padding-left: .35rem;
}


.showcase-card {
  background: #fff;
  border: 1px solid rgba(13, 110, 253, .12);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .08);
  transition: transform .25s ease, box-shadow .25s ease;
}

.showcase-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 32px 90px rgba(15, 23, 42, .13);
}

.showcase-image {
  display: block;
  background: linear-gradient(135deg, #eef7ff, #ffffff);
  padding: 18px;
}

.showcase-image img {
  width: 100%;
  aspect-ratio: 16 / 11;
  object-fit: contain;
  display: block;
}

.showcase-content {
  padding: 28px;
}

.product-label {
  display: inline-block;
  margin-bottom: 10px;
  color: #3498db;
  font-size: .85rem;
  font-weight: 700;
}

.showcase-content h3 {
  margin-bottom: 12px;
}

.showcase-content p {
  color: #5f6f89;
  margin-bottom: 22px;
}

.showcase-link {
  font-weight: 700;
  color: #3498db;
  text-decoration: none;
}

.showcase-link span {
  margin-left: 6px;
  transition: margin-left .2s ease;
}

.showcase-link:hover span {
  margin-left: 10px;
}