/* Footer contact details (NAP) and mobile call-to-action bar */
.footer-nap{margin-bottom:12px!important}
.footer-nap a{color:inherit;text-decoration:underline}
.mobile-cta{display:none}
@media (max-width:980px){
  .mobile-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:99999;box-shadow:0 -4px 16px rgba(0,0,0,.25)}
  .mobile-cta a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;font-weight:700;font-size:15px;text-transform:uppercase;color:#fff!important;text-decoration:none}
  .mobile-cta__call{background:#2c3641}
  .mobile-cta__quote{background:#e7302a}
  body{padding-bottom:52px}
  .et_pb_scroll_top.et-visible{bottom:64px!important}
}

/* Hero heading: one semantic <h1> holding the former kicker (styled as h1) and product name (styled as h2) */
.et_pb_text_inner h1.hero-h1{padding-bottom:0!important;font-size:inherit!important;line-height:inherit!important;text-transform:none!important;letter-spacing:normal!important;font-weight:inherit!important}
.hero-h1>span{display:block}

/* Home hero slogan: readable on phones (it overflowed the screen at 62px) */
@media (max-width:767px){
  body.home .et_pb_text_10 .hero-h1 .as-h2{font-size:24px!important;line-height:1.3em!important}
  body.home .et_pb_text_10 .hero-h1 .as-h2 br{display:none}
}

/* Hero background video is wider than the screen by design (cover): clip it instead of scrolling horizontally */
.et_pb_section_video_bg{overflow:hidden}

/* Some Divi image modules have a fixed width (e.g. 400px) wider than small phones */
.et_pb_image{max-width:100%}

/* Phones get the hero video poster instead of the video (see astechHeroVideo in base.html.twig) */
.et_pb_section_video_bg .hero-video-poster{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}

/* Tables in legal pages scroll inside their own frame on phones */
.wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.wp-block-table table{min-width:560px;border-collapse:collapse}
.wp-block-table th,.wp-block-table td{border:1px solid #d6e0ea;padding:8px 10px;text-align:left;vertical-align:top}

/* Local authorisation notice on manned-service pages (non-French editions) */
.local-notice{background:#fff4e5;border-left:4px solid #e7302a;padding:14px 20px;margin:0}
.local-notice p{max-width:1080px;margin:0 auto;padding:0!important;color:#2c3641;font-size:15px;line-height:1.5}

/* Long compound words (German, Dutch, Polish editions): hyphenate headings instead of breaking mid-word */
html:not([lang^="fr"]) :is(h1,h2,h3,.as-h1,.as-h2,.hero-h1 span,.cyno-keys__item p){hyphens:auto;-webkit-hyphens:auto}

/* Key figures strips (home under the hero, dog-handler page) */
.cyno-keys{background:#fff;color:#2c3641;padding:36px 20px}
.cyno-keys__inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.cyno-keys__item{border-left:3px solid #e7302a;padding-left:18px}
.cyno-keys__item p{margin:0;padding:0!important;color:#5b6673;font-size:15px;line-height:1.5}
.cyno-keys .cyno-keys__value{font-family:'Ubuntu',Helvetica,Arial,sans-serif;font-size:28px;font-weight:700;line-height:1.2;color:#2c3641;margin-bottom:6px}
@media (max-width:767px){.cyno-keys__inner{grid-template-columns:1fr;gap:20px}.cyno-keys .cyno-keys__value{font-size:24px}}
.keys-band .keys-band__inner{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.keys-band .keys-band__inner{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.keys-band .keys-band__inner{grid-template-columns:1fr}}

/* Dog-handler page: expertise section (dogs, services, equipment) */
.cyno-expertise{background:#fff;padding:70px 20px}
.cyno-expertise__inner{max-width:1080px;margin:0 auto}
.cyno-expertise__row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.cyno-expertise__media{margin:0}
.cyno-expertise__media img{display:block;width:100%;height:auto;border-radius:6px;box-shadow:0 12px 30px rgba(44,54,65,.18)}
.cyno-expertise__kicker{color:#e7302a!important;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:14px;padding-bottom:6px!important}
.cyno-expertise h2{color:#0E5F9C;font-size:32px;line-height:1.2;padding-bottom:14px}
.cyno-expertise h3{color:#2c3641;font-size:22px;padding-bottom:12px}
.cyno-expertise p,.cyno-expertise li{color:#4a5563;font-size:16px;line-height:1.6}
.cyno-expertise__list,.cyno-expertise__list li{list-style:none!important}
.cyno-expertise__list{padding:0!important;margin:14px 0 0}
.cyno-expertise__list li{position:relative;padding:0 0 10px 26px}
.cyno-expertise__list li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;border-radius:50%;background:#e7302a}
.cyno-expertise__cols{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:56px;padding-top:44px;border-top:1px solid #e6ebf1}
.cyno-expertise__cols .cyno-expertise__col{border-left:3px solid #e7302a;padding-left:22px}
@media (max-width:980px){.cyno-expertise__row,.cyno-expertise__cols{grid-template-columns:1fr;gap:28px}.cyno-expertise{padding:48px 20px}.cyno-expertise h2{font-size:26px}}

/* Positioning block (home, about, mounted guards): story + single point of contact */
.positioning{background:#f5f7fa;padding:70px 20px}
.positioning__inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:start}
.positioning__kicker{color:#e7302a!important;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:14px;padding-bottom:6px!important}
.positioning h2{color:#0E5F9C;font-size:32px;line-height:1.2;padding-bottom:16px}
.positioning h3{color:#2c3641;font-size:22px;padding-bottom:8px}
.positioning p{color:#4a5563;font-size:16px;line-height:1.65}
.positioning__contact{background:#fff;border-radius:6px;padding:30px;box-shadow:0 10px 30px rgba(44,54,65,.08);border-top:3px solid #e7302a}
.positioning__roles{list-style:none!important;padding:0!important;margin:18px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.positioning__roles li{list-style:none!important;display:grid;grid-template-columns:40px 1fr;column-gap:12px;align-items:start}
.positioning__roles strong{color:#2c3641;font-size:16px;line-height:1.3}
.positioning__roles li>span:last-child{grid-column:2;color:#5b6673;font-size:14px;line-height:1.45}
.positioning__icon{grid-row:span 2;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#fdeceb;color:#e7302a;font-size:17px}
@media (max-width:980px){.positioning__inner{grid-template-columns:1fr;gap:32px}.positioning{padding:48px 20px}.positioning h2{font-size:26px}}
@media (max-width:480px){.positioning__roles{grid-template-columns:1fr}.positioning__contact{padding:22px}}

/* Real-case teaser (fire / theft) linking to the field cases page */
.case-teaser{background:#fff;padding:56px 20px}
.case-teaser__inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center}
.case-teaser img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#11161c;border-radius:6px;box-shadow:0 12px 30px rgba(44,54,65,.18)}
.case-teaser__tag{color:#e7302a!important;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:14px;padding-bottom:6px!important}
.case-teaser h2{color:#0E5F9C;font-size:28px;line-height:1.25;padding-bottom:12px}
.case-teaser p{color:#4a5563;font-size:16px;line-height:1.6}
.case-teaser__link{display:inline-block;margin-top:14px;font-weight:700;color:#e7302a!important}
@media (max-width:980px){.case-teaser__inner{grid-template-columns:1fr;gap:24px}.case-teaser{padding:40px 20px}.case-teaser h2{font-size:24px}}

/* Hero with a still photo instead of a video (custom-built page) */
.et_pb_section_video_bg .hero-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
