/*
Theme Name: Schloif Fulfillment TT5 Pro V5.3 Editable
Template: twentytwentyfive
Author: Andreas Schloif
Description: Gutenberg-sicheres Premium-Fulfillment-Child-Theme für Twenty Twenty-Five.
Version: 5.3.0
Text Domain: schloif-tt5-pro
*/

:root{
  --sf-navy:#071a2e;
  --sf-navy-2:#0c2a48;
  --sf-orange:#ff6a00;
  --sf-orange-soft:#fff0e6;
  --sf-ink:#09203a;
  --sf-muted:#5f6f7f;
  --sf-soft:#f4f7fa;
  --sf-line:#dfe6ec;
  --sf-white:#ffffff;
}

html{scroll-behavior:smooth}
body{
  background:#fff;
  color:var(--sf-ink);
  font-size:17px;
  line-height:1.65;
}
.wp-site-blocks{padding:0!important}
h1,h2,h3{
  color:var(--sf-ink);
  letter-spacing:-.035em;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
h1{line-height:.98!important}
h2{line-height:1.08!important}
h3{line-height:1.16!important}
p{word-break:normal;overflow-wrap:normal;hyphens:none;line-height:1.65}
.sf-shell{padding-left:24px;padding-right:24px}
.sf-kicker{
  color:var(--sf-orange)!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.14em!important;
  text-transform:uppercase;
  margin-bottom:10px!important;
}

/* header */
.sf-header{
  background:#fff;
  border-bottom:1px solid var(--sf-line);
}
.sf-brand{
  display:flex;
  align-items:center;
  gap:10px;
}
.sf-logo-mark{
  width:38px;
  height:38px;
  border:3px solid var(--sf-orange);
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--sf-orange);
  font-weight:900;
  font-size:20px;
  transform:rotate(45deg);
}
.sf-logo-mark span{transform:rotate(-45deg)}
.sf-brand-copy .wp-block-site-title{
  margin:0!important;
  font-size:24px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.02em!important;
}
.sf-brand-copy .sf-subtitle{
  margin:2px 0 0!important;
  color:var(--sf-orange);
  font-size:11px!important;
  font-weight:800;
  letter-spacing:.18em;
}
.sf-header .wp-block-navigation-item__content{
  font-size:14px;
  font-weight:700;
  color:var(--sf-ink);
}

/* hero */
.sf-hero{
  background:
    linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.97) 44%,rgba(255,255,255,.75) 51%,rgba(255,255,255,0) 61%),
    #fff;
}
.sf-hero h1{
  font-size:clamp(3rem,5.4vw,5.4rem)!important;
  max-width:780px;
}
.sf-hero-copy{
  font-size:1.08rem!important;
  max-width:650px;
  color:var(--sf-muted)!important;
}
.sf-hero-image{
  border-radius:0;
  overflow:hidden;
  min-height:470px;
}
.sf-hero-image img{
  width:100%;
  height:470px;
  object-fit:cover;
  display:block;
}
.sf-trust-row{
  margin-top:34px!important;
}
.sf-trust-item{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--sf-ink);
  font-size:13px;
  font-weight:700;
}
.sf-trust-icon{
  color:var(--sf-orange);
  font-size:18px;
  margin:0!important;
}

/* clients */
.sf-clientbar{
  background:#fff;
  border-top:1px solid var(--sf-line);
  border-bottom:1px solid var(--sf-line);
}
.sf-clientbar p{
  margin:0;
  font-size:13px;
  letter-spacing:.08em;
  color:#47586a;
}

/* services */
.sf-services{background:var(--sf-soft)}
.sf-service-card{
  background:#fff;
  border:1px solid var(--sf-line);
  border-radius:14px;
  padding:28px 24px;
  height:100%;
  box-shadow:0 8px 24px rgba(7,26,46,.05);
}
.sf-service-card h3{
  font-size:1.35rem!important;
  margin:8px 0 10px!important;
}
.sf-service-card p{
  font-size:15px;
  color:var(--sf-muted);
  margin:0;
}
.sf-service-icon{
  color:var(--sf-orange)!important;
  font-size:30px!important;
  line-height:1!important;
  margin:0 0 16px!important;
}

/* shipping */
.sf-shipping{
  background:linear-gradient(90deg,var(--sf-navy),var(--sf-navy-2));
  color:#fff;
}
.sf-shipping h2,.sf-shipping h3,.sf-shipping p{color:#fff}
.sf-carrier-card{
  background:#fff;
  color:var(--sf-ink);
  border-radius:12px;
  padding:26px 22px;
  height:100%;
  text-align:center;
}
.sf-carrier-card h3,.sf-carrier-card p{color:var(--sf-ink)!important}
.sf-carrier-card h3{
  font-size:1.65rem!important;
  font-weight:900!important;
  margin:0 0 8px!important;
}
.sf-carrier-card p{
  font-size:14px;
  margin:0;
}
.sf-senddrop-note{
  text-align:center;
  margin-top:22px!important;
  font-size:14px!important;
}

/* pricing */
.sf-pricing{background:#fff}
.sf-price-card{
  background:#fff;
  border:1px solid var(--sf-line);
  border-radius:16px;
  padding:30px;
  height:100%;
  box-shadow:0 9px 26px rgba(7,26,46,.05);
}
.sf-price-card-main{
  border:2px solid var(--sf-orange);
  background:var(--sf-orange-soft);
}
.sf-price-card h3{
  color:var(--sf-orange);
  font-size:clamp(2.5rem,4vw,3.8rem)!important;
  margin:8px 0 4px!important;
}
.sf-price-card p{color:var(--sf-muted)}
.sf-price-meta{
  font-size:14px!important;
  margin-top:12px!important;
}

/* personal service */
.sf-personal{background:#fff}
.sf-wide-image{
  border-radius:18px;
  overflow:hidden;
}
.sf-wide-image img{
  width:100%;
  height:auto;
  display:block;
}
.sf-benefit{
  padding:17px 0;
  border-bottom:1px solid var(--sf-line);
}
.sf-benefit:last-child{border-bottom:0}
.sf-benefit strong{display:block}
.sf-benefit span{color:var(--sf-muted)}

/* contact */
.sf-contact{
  background:linear-gradient(90deg,var(--sf-navy),var(--sf-navy-2));
  color:#fff;
}
.sf-contact h2,.sf-contact h3,.sf-contact p,.sf-contact strong{color:#fff}
.sf-contact a{color:#ffb27e}
.sf-contact-left{
  min-width:0;
}
.sf-contact-panel{
  background:#fff;
  border-radius:14px;
  padding:30px;
  min-width:0;
  color:var(--sf-ink);
}
.sf-contact-panel h3,.sf-contact-panel p,.sf-contact-panel label{color:var(--sf-ink)!important}
.sf-contact-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:14px;
}
.sf-contact-form .sf-full{grid-column:1/-1}
.sf-contact-form label{
  display:block;
  font-size:13px;
  font-weight:700;
  margin-bottom:6px;
}
.sf-contact-form input,
.sf-contact-form textarea{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0;
  border:1px solid #cfd8df;
  border-radius:7px;
  padding:12px 13px;
  background:#fff;
  color:var(--sf-ink);
  font:inherit;
  font-size:15px;
  line-height:1.4;
}
.sf-contact-form textarea{min-height:135px;resize:vertical}
.sf-contact-form button{
  width:100%;
  border:0;
  border-radius:7px;
  background:var(--sf-orange);
  color:#fff;
  font-size:15px;
  font-weight:800;
  padding:14px 18px;
  cursor:pointer;
}
.sf-contact-note{
  color:var(--sf-muted)!important;
  font-size:12px!important;
  margin:10px 0 0!important;
}
.sf-form-message{
  background:#edf7ef;
  color:#1b6432!important;
  border-radius:7px;
  padding:10px 12px;
}
.sf-contact-detail{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:10px;
  align-items:start;
  margin:16px 0;
}
.sf-contact-detail .sf-contact-icon{
  color:var(--sf-orange)!important;
  font-size:20px!important;
  margin:0!important;
}

/* footer */
.sf-footer{
  background:#fff;
  color:#64717d;
  border-top:1px solid var(--sf-line);
}
.sf-footer a{color:#64717d}
.wp-block-button__link{
  padding:.95em 1.35em!important;
  font-weight:800!important;
  border-radius:7px!important;
}

@media(max-width:1100px){
  .sf-service-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .sf-hero{background:#fff}
  .sf-hero-image{min-height:0}
  .sf-hero-image img{height:auto}
  .sf-contact-form{grid-template-columns:1fr}
  .sf-contact-form .sf-full{grid-column:auto}
}
@media(max-width:781px){
  body{font-size:16px}
  .sf-shell{padding-left:18px;padding-right:18px}
  .sf-hero h1{font-size:clamp(2.7rem,12vw,4rem)!important}
  .sf-service-card,.sf-carrier-card,.sf-price-card,.sf-contact-panel{padding:22px}
}


/* V5.1 – contact form alignment + linked customer references */
.sf-contact-panel{
  width:100%;
  box-sizing:border-box;
}
.sf-contact-panel .wp-block-shortcode{
  width:100%;
  margin:0;
}
.sf-contact-form{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  width:100% !important;
  margin:0 !important;
  box-sizing:border-box;
}
.sf-contact-form > div{
  min-width:0 !important;
  width:100% !important;
  margin:0 !important;
  box-sizing:border-box;
}
.sf-contact-form .sf-full{
  grid-column:1/-1 !important;
}
.sf-contact-form input,
.sf-contact-form textarea,
.sf-contact-form button{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
.sf-contact-form label{
  display:block;
  width:100%;
  margin:0 0 6px 0 !important;
}
.sf-customers{
  background:#fff;
  border-top:1px solid var(--sf-line);
}
.sf-customer-link{
  background:#fff;
  border:1px solid var(--sf-line);
  border-radius:12px;
  padding:18px 16px;
  text-align:center;
  height:100%;
  box-shadow:0 6px 18px rgba(7,26,46,.04);
}
.sf-customer-link a{
  color:var(--sf-ink);
  text-decoration:none;
  font-weight:800;
}
.sf-customer-link a:hover{
  color:var(--sf-orange);
}
.sf-customer-link small{
  display:block;
  margin-top:5px;
  color:var(--sf-muted);
  font-size:12px;
  word-break:normal;
}
@media(max-width:700px){
  .sf-contact-form{
    grid-template-columns:1fr !important;
  }
  .sf-contact-form .sf-full{
    grid-column:auto !important;
  }
}


/* V5.2 – Gutenberg editor support */
.wp-block-schloif-contact-form{
  width:100%;
}
.sf-contact-form-editor{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  width:100%;
}
.sf-contact-form-editor .sf-full{
  grid-column:1/-1;
}
.sf-contact-form-editor .sf-editor-field{
  min-width:0;
}
.sf-contact-form-editor .sf-editor-label{
  font-size:13px;
  font-weight:700;
  color:var(--sf-ink);
  margin-bottom:6px;
}
.sf-contact-form-editor .sf-editor-input,
.sf-contact-form-editor .sf-editor-textarea{
  border:1px solid #cfd8df;
  border-radius:7px;
  padding:12px 13px;
  background:#fff;
  color:var(--sf-ink);
  min-height:44px;
}
.sf-contact-form-editor .sf-editor-textarea{
  min-height:110px;
}
.sf-contact-form-editor .sf-editor-button{
  background:var(--sf-orange);
  color:#fff;
  font-weight:800;
  border-radius:7px;
  padding:14px 18px;
  text-align:center;
}
@media(max-width:700px){
  .sf-contact-form-editor{grid-template-columns:1fr}
  .sf-contact-form-editor .sf-full{grid-column:auto}
}


/* V5.3 – legal page editor styling */
.sf-legal-page{
  padding-top:64px;
  padding-bottom:84px;
}
.sf-legal-page .wp-block-post-title{
  margin-bottom:34px;
}
.sf-legal-page .wp-block-post-content{
  max-width:900px;
}
.sf-legal-page .wp-block-post-content h2{
  margin-top:42px;
  margin-bottom:14px;
}
.sf-legal-page .wp-block-post-content p{
  margin-bottom:18px;
}
