/* WordPress-only system views. Source page, header, footer, search and inquiry
   presentation comes from the original DINIS stylesheets loaded before this. */
.dinis-system-page{padding:120px 24px;min-height:55vh}
.dinis-search-results{display:grid;gap:18px}
.dinis-search-result{border:1px solid #dfe8ed;border-radius:8px;padding:24px}
.dinis-search-result h2{margin:6px 0}
.dinis-language-ar .dinis-search-result{text-align:right}
.dinis-wordpress .lead-form .form-message.success{color:#0c6b43}
.dinis-wordpress .lead-form .form-message.error{color:#b42318}

/* Navigation affordances: use one 42px alignment box and one drawn chevron
   for primary labels, dropdown buttons, the language control and the CTA. */
.dinis-wordpress .site-header .nav-label{display:flex;align-items:center}
.dinis-wordpress .site-header .nav-label>a{display:flex;align-items:center;min-height:42px;line-height:1}
.dinis-wordpress .site-header .nav-toggle{display:inline-grid;place-items:center;align-self:center;flex:0 0 28px;width:28px;height:28px;margin:0;padding:0;border-radius:4px;font-size:0;line-height:1}
.dinis-wordpress .site-header .nav-toggle:before{content:"";position:relative;top:2px;width:10px;height:7px;background:currentColor;clip-path:polygon(0 0,50% 65%,100% 0,100% 35%,50% 100%,0 35%);transform:none;transition:transform .18s ease}
.dinis-wordpress .site-header .nav-toggle[aria-expanded="true"]:before{transform:rotate(180deg)}
.dinis-wordpress .site-header .nav-subgroup>.nav-label>.nav-toggle:before{transform:rotate(-90deg)}
.dinis-wordpress .site-header .nav-subgroup>.nav-label>.nav-toggle[aria-expanded="true"]:before{transform:none}
.dinis-wordpress .site-header .language-menu>summary>span:last-child{display:inline-block;position:relative;top:2px;flex:0 0 10px;width:10px;height:7px;background:currentColor;clip-path:polygon(0 0,50% 65%,100% 0,100% 35%,50% 100%,0 35%);font-size:0;line-height:0}
@media(min-width:761px){
  .dinis-wordpress .site-header .main-nav{align-items:center}
  .dinis-wordpress .site-header .main-nav>a,
  .dinis-wordpress .site-header .main-nav>.nav-group>.nav-label,
  .dinis-wordpress .site-header .main-nav>.language-menu>summary,
  .dinis-wordpress .site-header .header-cta{display:flex;align-items:center;height:42px;min-height:42px;line-height:1}
  .dinis-wordpress .site-header .main-nav>.nav-group>.nav-label>a{height:42px;min-height:42px;line-height:1}
  .dinis-wordpress .site-header .main-nav>.language-menu>summary{padding-block:0}
  .dinis-wordpress .site-header .header-cta{justify-content:center}
}
.dinis-wordpress .site-header .nav-panel a.is-current{border-inline-start:3px solid #08a8ca;background:#dff4fa;color:#006f95;font-weight:900}
.dinis-wordpress .site-header .nav-group:has(.nav-panel a.is-current)>.nav-label>a{color:#17cbe0}
.dinis-wordpress .site-header .nav-label>a.is-current,.dinis-wordpress .site-header .main-nav>a.is-current{color:#17cbe0}

/* One shared, dynamic legal row for all languages. */
.dinis-wordpress .site-footer .footer-bottom{align-items:center;flex-wrap:wrap;gap:18px 30px;padding-bottom:22px}
.dinis-wordpress .footer-legal{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;min-width:0}
.dinis-wordpress .footer-legal p{margin:0;color:#91adbf;font-size:12px;line-height:1.6}
.dinis-wordpress .footer-legal p a,.dinis-wordpress .footer-privacy{color:#c9e5f1;text-decoration:underline;text-underline-offset:3px}
.dinis-wordpress .footer-legal p a:hover,.dinis-wordpress .footer-privacy:hover{color:#45d2e7}
.dinis-wordpress .footer-privacy{font-size:12px}
.dinis-wordpress .footer-social{display:flex;align-items:center;gap:9px;margin-inline-start:auto}
.dinis-wordpress .footer-social a{display:grid;place-items:center;width:38px;height:38px;border:1px solid #31516b;border-radius:50%;color:#c8e6f2;background:#ffffff08;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease}
.dinis-wordpress .footer-social a:hover{color:#fff;border-color:#28c5dd;background:#0d7291;transform:translateY(-2px)}
.dinis-wordpress .footer-social svg{width:20px;height:20px;fill:currentColor}
.dinis-wordpress .footer-social a:focus-visible{outline:3px solid #37d4e8;outline-offset:3px}
@media(max-width:680px){
  .dinis-wordpress .site-footer .footer-bottom{display:flex;align-items:flex-start;flex-direction:column;padding-bottom:104px}
  .dinis-wordpress .footer-legal{align-items:flex-start;flex-direction:column}
  .dinis-wordpress .footer-social{margin-inline-start:0}
}

/* A complete 404 experience that does not depend on page-specific migrated
   markup. It keeps search and primary destinations visible on every language. */
.dinis-404{background:#f2f8fc;color:#082d52}
.dinis-404-hero{position:relative;isolation:isolate;overflow:hidden;background:#071f38;color:#fff}
.dinis-404-hero:before,.dinis-404-hero:after{content:"";position:absolute;border-radius:50%;z-index:-1;pointer-events:none}
.dinis-404-hero:before{width:650px;height:650px;inset:-330px -110px auto auto;background:radial-gradient(circle,#13bddd55 0 34%,transparent 68%)}
.dinis-404-hero:after{width:480px;height:480px;inset:auto auto -350px -80px;border:1px solid #29c4e84a;box-shadow:0 0 0 75px #0b426748,0 0 0 150px #0b42672b}
.dinis-404-layout{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(42px,7vw,110px);min-height:590px;padding-block:88px}
.dinis-404-code{font-size:clamp(150px,20vw,310px);font-weight:900;line-height:.75;letter-spacing:-.09em;color:transparent;-webkit-text-stroke:2px #28bddc;text-shadow:0 18px 70px #12b7d52b;opacity:.82}
.dinis-404-copy{max-width:690px;text-align:start}
.dinis-404-copy .eyebrow{display:block;margin-bottom:17px;color:#32d8ec;letter-spacing:.18em;text-transform:uppercase;text-align:start}
.dinis-404-copy h1{margin:0 0 20px;font-size:clamp(38px,5vw,70px);line-height:1.02;letter-spacing:-.045em;text-align:start}
.dinis-404-copy>p{max-width:610px;margin:0 0 30px;color:#cbdce9;font-size:17px;line-height:1.7;text-align:start}
.dinis-404-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:34px}
.dinis-404-actions .button{min-height:48px}
.dinis-404-button-secondary{border:1px solid #5d829e;background:#ffffff0a;color:#fff}
.dinis-404-button-secondary:hover{border-color:#34cce5;background:#ffffff12;color:#fff}
.dinis-404-search{max-width:610px;padding-top:28px;border-top:1px solid #ffffff24}
.dinis-404-search label{display:block;margin-bottom:10px;color:#dfeef6;font-size:13px;font-weight:800}
.dinis-404-search>div{display:grid;grid-template-columns:minmax(0,1fr) auto;background:#fff;border-radius:7px;overflow:hidden;box-shadow:0 15px 40px #0003}
.dinis-404-search input{width:100%;min-width:0;height:52px;padding:0 18px;border:0;background:#fff;color:#082d52;outline:0}
.dinis-404-search input:focus{box-shadow:inset 0 0 0 3px #22bcd5}
.dinis-404-search button{min-width:110px;border:0;background:#19bdd8;color:#04263f;font-weight:900;cursor:pointer}
.dinis-404-search button:hover{background:#5dd7e8}
.dinis-404-links{padding-block:64px 76px}
.dinis-404-links h2{margin:0 0 24px;font-size:clamp(26px,3vw,40px);text-align:start}
.dinis-404-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dinis-404-link-grid a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;min-height:96px;padding:20px;border:1px solid #cfe0eb;border-radius:8px;background:#fff;color:#082d52;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.dinis-404-link-grid a:hover{transform:translateY(-3px);border-color:#32bad5;box-shadow:0 15px 34px #0c517114}
.dinis-404-link-grid span{color:#0789b5;font-size:11px;font-weight:900;letter-spacing:.12em}
.dinis-404-link-grid strong{font-size:16px}
.dinis-404-link-grid i{color:#0797bd;font-style:normal}
@media(max-width:900px){
  .dinis-404-layout{grid-template-columns:1fr;gap:34px;min-height:0;padding-block:64px}
  .dinis-404-code{font-size:150px}
  .dinis-404-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .dinis-404-layout{padding-block:48px}
  .dinis-404-code{font-size:112px}
  .dinis-404-copy h1{font-size:38px}
  .dinis-404-copy>p{font-size:15px}
  .dinis-404-actions{display:grid}
  .dinis-404-actions .button{width:100%;justify-content:center}
  .dinis-404-search>div{grid-template-columns:1fr}
  .dinis-404-search button{min-height:48px}
  .dinis-404-link-grid{grid-template-columns:1fr}
}

/* Shared scrollbar treatment.
   Keep native scrolling and touch momentum, but replace the thick operating-
   system chrome in menus, dialogs, galleries, tables and horizontal rails. */
html{
  scrollbar-width:thin;
  scrollbar-color:#4c9fb5 #e8f1f5;
}
.dinis-wordpress,
.dinis-wordpress *{
  scrollbar-width:thin;
  scrollbar-color:rgba(32,151,180,.78) transparent;
}
html::-webkit-scrollbar,
.dinis-wordpress::-webkit-scrollbar,
.dinis-wordpress *::-webkit-scrollbar{
  width:9px;
  height:9px;
}
html::-webkit-scrollbar-track{
  background:#e8f1f5;
}
.dinis-wordpress::-webkit-scrollbar-track,
.dinis-wordpress *::-webkit-scrollbar-track{
  background:transparent;
}
html::-webkit-scrollbar-thumb,
.dinis-wordpress::-webkit-scrollbar-thumb,
.dinis-wordpress *::-webkit-scrollbar-thumb{
  min-width:42px;
  min-height:42px;
  border:2px solid transparent;
  border-radius:999px;
  background:linear-gradient(180deg,#47c8dc,#238eaa) padding-box;
}
html::-webkit-scrollbar-thumb:hover,
.dinis-wordpress::-webkit-scrollbar-thumb:hover,
.dinis-wordpress *::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#64deea,#087d9d) padding-box;
}
html::-webkit-scrollbar-thumb:active,
.dinis-wordpress::-webkit-scrollbar-thumb:active,
.dinis-wordpress *::-webkit-scrollbar-thumb:active{
  background:#08738f padding-box;
}
html::-webkit-scrollbar-button,
.dinis-wordpress::-webkit-scrollbar-button,
.dinis-wordpress *::-webkit-scrollbar-button{
  display:none;
  width:0;
  height:0;
}
html::-webkit-scrollbar-corner,
.dinis-wordpress::-webkit-scrollbar-corner,
.dinis-wordpress *::-webkit-scrollbar-corner{
  background:transparent;
}

/* Scrollbars that sit on navy surfaces need a brighter thumb and a track that
   remains visible without recreating the old white strip. */
.dinis-wordpress :where(
  .language-options,
  .park-lightbox,
  .tp-lightbox,
  .intl-lightbox
){
  scrollbar-color:rgba(91,221,235,.9) rgba(1,18,31,.32);
  overscroll-behavior:contain;
}
.dinis-wordpress :where(
  .language-options,
  .park-lightbox,
  .tp-lightbox,
  .intl-lightbox
)::-webkit-scrollbar-track{
  background:rgba(1,18,31,.32);
  border-radius:999px;
}
.dinis-wordpress :where(
  .language-options,
  .park-lightbox,
  .tp-lightbox,
  .intl-lightbox
)::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#79e8f1,#25b5cf) padding-box;
}

@media (forced-colors:active){
  html,.dinis-wordpress,.dinis-wordpress *{scrollbar-color:auto}
}

/* Site-wide alignment and layout polish.
   These rules intentionally live after the migrated editorial stylesheet so
   shared components stay consistent across every language. */
.dinis-wordpress .page-hero .container>.eyebrow{
  text-align:center;
}
.dinis-wordpress .section>.container>.product-grid+.button,
.dinis-wordpress .section>.container>.home-solution-grid+.button{
  display:flex;
  width:max-content;
  max-width:100%;
  margin-inline:auto;
}
.dinis-wordpress .section>.container>.faq{
  width:100%;
  max-width:none;
}
.dinis-wordpress .lead-panel>div:first-child>h2{
  text-align:start;
}
.dinis-wordpress .lead-form .form-step[data-inquiry-step="1"]>label:has(>input[name="phone"]){
  grid-column:1/-1;
}

/* Solution details: keep the narrative aligned to the reading direction and
   let both the venue cards and the five project variables use the full row. */
.dinis-wordpress.single-dinis_solution .sol-hero h1{
  text-align:start;
}
.dinis-wordpress.single-dinis_solution .sol-situation-layout{
  grid-template-columns:minmax(0,1fr);
}
.dinis-wordpress.single-dinis_solution .sol-situations,
.dinis-wordpress.single-dinis_solution .sol-variables{
  width:100%;
  min-width:0;
}
.dinis-wordpress.single-dinis_solution .sol-variables>div{
  grid-template-columns:repeat(5,minmax(0,1fr));
}

@media (max-width:680px){
  .dinis-wordpress.single-dinis_solution .sol-variables>div{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:420px){
  .dinis-wordpress.single-dinis_solution .sol-variables>div{
    grid-template-columns:minmax(0,1fr);
  }
}

/* About and contact content uses editorial headings, but these sections are
   designed as left/start-aligned reading blocks rather than centered banners. */
.dinis-wordpress main .au-heading h2,
.dinis-wordpress main .cu-heading h2,
.dinis-wordpress main .yg-dinis-bridge h2{
  text-align:start;
}

/* YOTO Group hero: the supplied aerial artwork contains a pale strip on its
   physical right edge. Enlarge it inside the clipped hero so that strip sits
   outside the viewport, while keeping the factory composition shifted toward
   the right. The complete copy column follows the reading direction. */
.dinis-wordpress[data-page$="/about/yoto-group/"] .yg-hero-image{
  left:0;
  right:auto;
  width:113%;
  max-width:none;
}
.dinis-wordpress[data-page$="/about/yoto-group/"] .yg-hero-copy,
.dinis-wordpress[data-page$="/about/yoto-group/"] .yg-hero-copy :is(.yg-kicker,h1,h2,p),
.dinis-wordpress[data-page$="/about/yoto-group/"] .yg-position{
  text-align:start;
}

/* Six manufacturing stages form two balanced rows of three on desktop. */
.dinis-wordpress[data-page$="/about/manufacturing-factory/"] .au-process{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

/* Themed park editorial layout: give the introduction enough reading width,
   preserve a comfortable image/copy gutter and align section titles naturally. */
@media (min-width:901px){
  .dinis-wordpress .themed-park .park-hero{
    grid-template-columns:minmax(480px,.9fr) minmax(0,1.1fr);
  }
}
.dinis-wordpress .themed-park .park-heading h2{
  text-align:start;
}
.dinis-wordpress .themed-park .park-variant-panel .park-figure{
  column-gap:clamp(24px,2.5vw,40px);
}
.dinis-wordpress .themed-park .park-variant-panel figcaption{
  padding-inline-start:0;
}
.dinis-wordpress .themed-park #park-questions .park-heading{
  display:flex;
  justify-content:center;
  text-align:center;
}
.dinis-wordpress .themed-park #park-questions .park-heading>div{
  width:100%;
}
.dinis-wordpress .themed-park #park-questions .park-heading :is(.eyebrow,h2){
  text-align:center;
  margin-inline:auto;
}

@media (max-width:900px){
  .dinis-wordpress[data-page$="/about/manufacturing-factory/"] .au-process{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:760px){
  .dinis-wordpress .themed-park .park-variant-panel .park-figure{
    column-gap:0;
  }
  .dinis-wordpress .themed-park .park-variant-panel figcaption{
    padding:25px;
  }
}
@media (max-width:680px){
  .dinis-wordpress[data-page$="/about/manufacturing-factory/"] .au-process{
    grid-template-columns:minmax(0,1fr);
  }
}

/* Long translated specification labels must wrap inside the 390px viewport.
   The source table declares a 580px minimum width, which otherwise expands the
   whole document instead of remaining inside its table container. */
@media (max-width:640px){
  .dinis-wordpress.dinis-language-de #main .table-scroll{max-width:100%;overflow-x:auto}
  .dinis-wordpress.dinis-language-de #main .table-scroll table{width:100%!important;min-width:0!important;table-layout:fixed}
  .dinis-wordpress.dinis-language-de #main .table-scroll th,
  .dinis-wordpress.dinis-language-de #main .table-scroll td{min-width:0!important;overflow-wrap:anywhere;word-break:normal}
  .dinis-wordpress.dinis-language-de #main .pd-options,
  .dinis-wordpress.dinis-language-de #main .pd-evidence-grid,
  .dinis-wordpress.dinis-language-de #main .pd-benefits{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:100%}
  .dinis-wordpress.dinis-language-de #main .pd-options>*,
  .dinis-wordpress.dinis-language-de #main .pd-evidence-grid>*,
  .dinis-wordpress.dinis-language-de #main .pd-benefits>*{min-width:0;max-width:100%}
}

/* Inquiry defenses are shared by every language. The honeypot remains in the
   form for automated clients but is kept outside the visual/accessibility
   flow; the signed arithmetic challenge is presented as a normal form row. */
.dinis-wordpress .inquiry-defenses{
  position:relative;
  grid-column:1/-1;
  width:100%;
}
.dinis-wordpress .inquiry-honeypot{
  position:absolute!important;
  inline-size:1px!important;
  block-size:1px!important;
  overflow:hidden!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  pointer-events:none!important;
}
.dinis-wordpress .inquiry-captcha{
  display:grid;
  grid-template-columns:minmax(140px,auto) minmax(88px,140px);
  align-items:center;
  justify-content:start;
  gap:12px;
  margin:0;
}
.dinis-wordpress .inquiry-captcha input{
  width:100%;
  min-width:0;
}
@media (max-width:520px){
  .dinis-wordpress .inquiry-captcha{
    grid-template-columns:1fr;
  }
}
