html,body{width:100%;max-width:100%;overflow-x:hidden}
body{min-width:0}
main{display:block;width:100%;min-width:0}
img,svg,video,canvas{max-width:100%}
img{height:auto}
section,article,header,footer,nav,form,[class*="container"],[class*="wrapper"],[class*="grid"]{min-width:0}
a,button,input,select,textarea{outline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #B07F1A}
.btn,.btn-primary,.btn-accent,.navigation-cta{font-weight:600}
.btn-primary,.btn-accent{color:#FFFFFF!important}
.navigation-container{
  min-height:76px;
  padding:.75rem 0;
  background:rgba(255,249,240,.96);
  box-shadow:0 1px 0 rgba(109,41,50,.08);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.navigation-container>.navigation-wrapper{
  width:100%;
  display:flex;
  gap:1.5rem;
  margin:0 auto;
  max-width:var(--content-max-width);
  align-items:center;
  justify-content:space-between;
}
.navigation-logo .section-title{
  line-height:1;
  white-space:nowrap;
}
.navigation-links-list a{
  display:block;
  border-radius:6px;
}
.navigation-link{
  position:relative;
  padding:.55rem .1rem;
}
.navigation-links-list a[aria-current="page"] .navigation-link{
  color:var(--color-primary);
}
.navigation-links-list a[aria-current="page"] .navigation-link::after{
  content:"";
  position:absolute;
  right:.1rem;
  bottom:.1rem;
  left:.1rem;
  height:2px;
  border-radius:999px;
  background:var(--color-accent);
}
.navigation-mobile-toggle,.navigation-mobile-close{
  min-width:44px;
  min-height:44px;
  border:1px solid color-mix(in srgb,var(--color-primary) 18%,transparent);
  border-radius:50%;
  align-items:center;
  justify-content:center;
}
.navigation-mobile-toggle:hover,.navigation-mobile-close:hover{
  background:color-mix(in srgb,var(--color-primary) 7%,transparent);
}
.navigation-overlay-links a[aria-current="page"] .navigation-overlay-link{
  color:var(--color-primary);
  text-decoration:underline;
  text-decoration-color:var(--color-accent);
  text-decoration-thickness:2px;
  text-underline-offset:.35em;
}
.footer-contact-text{display:block;color:inherit;cursor:default}
.footer-legal-links{flex-wrap:wrap}
.form-status{margin-top:1rem;padding:0.875rem 1rem;border:1px solid #6D2932;border-radius:10px;background:#FFF9F0;color:#301014;font-weight:600}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:9999;transform:translateY(-150%);background:#FFF9F0;color:#301014;padding:.75rem 1rem;border:2px solid #6D2932;border-radius:8px}
.skip-link:focus{transform:translateY(0)}
@media(max-width:768px){
  .navigation-container{min-height:68px;padding:.5rem 0}
  .navigation-container>.navigation-wrapper{padding:0 1rem}
  .navigation-mobile-toggle{display:flex}
  .navigation-overlay-header{min-height:68px;padding:.5rem 1rem}
  .navigation-overlay-content{padding:2rem 1rem}
  h1,.hero-title,.f-oldal-hero-title,.r-lunk-hero-title{font-size:clamp(2rem,9vw,2.85rem)!important;line-height:1.08!important;overflow-wrap:anywhere}
  h2,.section-title{font-size:clamp(1.55rem,7vw,2.15rem)!important;line-height:1.15!important;overflow-wrap:anywhere}
  h3{font-size:clamp(1.2rem,5.5vw,1.65rem)!important;overflow-wrap:anywhere}
  .btn,.btn-lg,.btn-xl{max-width:100%;white-space:normal;text-align:center}
  .footer-legal-links,.footer-contact-item{justify-content:center}
  .footer-contact-item{align-items:flex-start}
  .footer-contact-item .section-content,.footer-contact-text{overflow-wrap:anywhere}
  form,input,select,textarea,button{max-width:100%}
}
@media(max-width:480px){
  .section-container,.content-container{width:100%;padding-left:1rem!important;padding-right:1rem!important}
  .footer-legal-links{gap:.75rem!important;flex-direction:column}
  .navigation-logo .section-title{font-size:clamp(1.25rem,6.5vw,1.65rem)!important}
}

/* Final overflow safeguards for exact mobile breakpoints. */
@media(max-width:768px){
  .form-grid{grid-template-columns:minmax(0,1fr)!important}
  .form-group.full-width{grid-column:1/-1!important}
  .form-group,.form-input,.main-contact-form,.contact-form-column{width:100%;min-width:0}
  .steps-container{width:100%;min-width:0}
  .step-item{
    display:grid;
    grid-template-columns:40px minmax(0,1fr);
    column-gap:1rem;
    align-items:start;
  }
  .kapcsolat-step-number{grid-column:1;grid-row:1;margin-bottom:0}
  .step-content{grid-column:2;grid-row:1}
  .step-item:not(:last-child)::after{left:19px!important;top:40px!important;width:2px!important;height:calc(100% + var(--spacing-xl))!important}
}
@media(max-width:600px){
  .services-grid-wrapper,.-szolg-ltat-sok-process-steps-wrapper{grid-template-columns:minmax(0,1fr)!important}
  .service-card,.-szolg-ltat-sok-process-step{width:100%;min-width:0;padding-left:clamp(1.25rem,7vw,2rem);padding-right:clamp(1.25rem,7vw,2rem)}
}
.footer-root,.footer-grid,.footer-legal,.footer-legal-links{max-width:100%}
@media(max-width:479px){
  .footer-grid{grid-template-columns:minmax(0,1fr)!important}
  .footer-column,.footer-brand,.footer-logo,.footer-description,.footer-list,.footer-item,.footer-contact-item{width:100%;min-width:0;max-width:100%}
  .footer-logo{
    width:auto;
    font-size:clamp(1.1rem,5.5vw,1.45rem)!important;
    letter-spacing:.04em;
    overflow-wrap:normal;
    word-break:normal;
    white-space:nowrap;
  }
}
@media(max-width:320px){
  .contact-form-section{overflow-x:clip}
}
/* WCAG text contrast for warm accent and secondary buttons. */
.btn-accent,.btn-secondary{color:#0D0A09!important}
