/* Pagine servizi SEO 2026: regole limitate al prefisso rap- */
.rap-service { background: #fff; color: #333; }
.rap-service .inner-container { padding-top: 58px; padding-bottom: 64px; }
.rap-service a { text-decoration: underline; text-underline-offset: 2px; }
.rap-service .breadcrumb a { text-decoration: none; }
.rap-service-layout { display: flex; flex-wrap: wrap; align-items: flex-start; }
.rap-article { font-size: 17px; line-height: 1.75; }
.rap-article p { margin: 0 0 18px; }
.rap-intro { border-left: 5px solid #024a7c; padding: 22px 26px; margin-bottom: 40px; background: #f5f8fb; }
.rap-intro p:first-child { font-size: 21px; line-height: 1.55; color: #1e303c; }
.rap-intro p:last-child { margin-bottom: 0; }
.rap-block { margin: 0 0 42px; }
.rap-block h2, .rap-section-heading h2 { color: #024a7c; font-size: 29px; line-height: 1.25; margin: 0 0 20px; text-transform: none; letter-spacing: 0; }
.rap-block h3 { color: #222; font-size: 20px; line-height: 1.4; margin: 28px 0 10px; text-transform: none; letter-spacing: 0; }
.rap-block ul, .rap-block ol { margin: 8px 0 22px; padding-left: 24px; }
.rap-block li { margin-bottom: 10px; }
.rap-cta { margin: 48px 0 10px; padding: 30px; border: 1px solid #024a7c; border-left-width: 7px; background: #f5f8fb; }
.rap-cta h2 { color: #024a7c; margin: 0 0 12px; font-size: 25px; text-transform: none; letter-spacing: 0; }
.rap-cta p:last-child { margin-bottom: 0; }
.rap-help-box { position: sticky; top: 110px; padding: 26px; border-top: 5px solid #024a7c; background: #f5f8fb; box-shadow: 0 8px 24px rgba(2, 74, 124, .12); }
.rap-help-box h2 { color: #024a7c; font-size: 25px; margin: 0 0 12px; text-transform: none; letter-spacing: 0; }
.rap-help-box .rap-eyebrow { margin-bottom: 6px; color: #555; font-size: 12px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; }
.rap-help-box .form-control { background: #fff; }
.rap-faq details { margin-bottom: 12px; border: 1px solid #d7e1e8; background: #fff; }
.rap-faq summary { position: relative; padding: 18px 50px 18px 18px; color: #1e303c; cursor: pointer; font-weight: 700; list-style: none; }
.rap-faq summary::-webkit-details-marker { display: none; }
.rap-faq summary:after { content: '+'; position: absolute; right: 18px; top: 12px; color: #024a7c; font-size: 28px; font-weight: 300; }
.rap-faq details[open] summary:after { content: '−'; }
.rap-faq-answer { padding: 0 18px 18px; }
.rap-faq-answer p:last-child { margin-bottom: 0; }
.rap-gallery { padding: 65px 0 75px; background: #f5f8fb; }
.rap-section-heading { max-width: 760px; margin-bottom: 28px; }
.rap-gallery-card { position: relative; overflow: hidden; margin: 0 0 28px; background: #fff; box-shadow: 0 6px 18px rgba(2, 74, 124, .11); }
.rap-gallery-card > a { display: block; }
.rap-gallery-card > a img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .25s ease; }
.rap-gallery-card > a:focus img, .rap-gallery-card > a:hover img { transform: scale(1.025); }
.rap-gallery-brand { position: absolute; right: 12px; bottom: 12px; width: 92px; height: auto; padding: 5px; background: rgba(255,255,255,.85); }
.rap-breadcrumb { position: static; float: none; clear: both; display: block; width: 100%; height: auto; margin: 0; padding: 0; text-align: left; text-transform: none; transform: none; }
.rap-breadcrumb .breadcrumb { margin-bottom: 34px; }
.rap-inner-hero { background-position: center; }
@media (max-width: 991px) {
  .rap-help-box { position: static; margin-top: 32px; }
  .rap-service .inner-container { padding-top: 42px; }
}
@media (max-width: 767px) {
  .rap-service-layout { display: block; }
  .rap-article { font-size: 16px; line-height: 1.68; }
  .rap-intro { padding: 18px; margin-bottom: 30px; }
  .rap-intro p:first-child { font-size: 18px; }
  .rap-block h2, .rap-section-heading h2 { font-size: 25px; }
  .rap-cta { padding: 22px; }
  .rap-gallery { padding: 48px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .rap-gallery-card > a img { transition: none; }
}
