/* RA-01 opt-in native-block layouts only. No global product or section rules. */
.ht-ra-product-page { padding-block: 24px 56px; }
.ht-ra-back { margin-bottom: 18px; font-size: 14px; }
.ht-ra-back a { text-decoration: none; }
.ht-ra-product-page > h1 { max-width: 1080px; margin: 0 0 28px; font-size: clamp(28px, 2.8vw, 38px); line-height: 1.16; letter-spacing: -.025em; overflow-wrap: anywhere; }
.ht-ra-product, .ht-ra-about { --ra-line: #dce5ee; }
.ht-ra-hero > .wp-block-group__inner-container { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.ht-ra-product p, .ht-ra-about p { max-width: none; line-height: 1.65; }
.ht-ra-product .ht-ra-model { margin: 0 0 18px; color: #075ca8; font-size: 24px; font-weight: 700; overflow-wrap: anywhere; }
.ht-ra-product .ht-ra-hero-media > .wp-block-group__inner-container > figure { margin: 0 0 16px; background: #202020; border-radius: 12px; overflow: hidden; }
.ht-ra-product .ht-ra-hero-media img { display: block; width: 100%; height: 330px; object-fit: contain; }
.ht-ra-product .ht-ra-hero-copy .wp-block-buttons { margin-top: 24px; }
.ht-ra-product .wp-block-button__link, .ht-ra-about .wp-block-button__link { min-height: 44px; padding: 12px 22px; font-size: 15px; border-radius: 6px; background: #075ca8; color: #fff; }
.ht-ra-product .ht-ra-secondary .wp-block-button__link { color: #075ca8; background: #edf4fc; }
.ht-ra-section { margin-top: 42px; padding-top: 32px; border-top: 1px solid var(--ra-line); scroll-margin-top: 54px; }
.ht-ra-product h2, .ht-ra-about h2 { margin: 0 0 18px; font-size: 27px; line-height: 1.25; }
.ht-ra-product h3 { margin: 26px 0 12px; font-size: 17px; }
.ht-ra-product .wp-block-table { overflow-x: auto; margin: 0; border: 1px solid var(--ra-line); border-radius: 8px; }
.ht-ra-product table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 15px; }
.ht-ra-product td { padding: 13px 16px; border: 1px solid var(--ra-line); }
.ht-ra-product tr:nth-child(odd) { background: #f1f6fc; font-weight: 600; }
.ht-ra-product .ht-ra-video figure { max-width: 820px; margin: 0; }
.ht-ra-product video, .ht-ra-about video { display: block; width: 100%; max-height: 500px; background: #101820; border-radius: 10px; }
.ht-ra-product .ht-related-products { margin-top: 44px; padding-top: 32px; border-top: 1px solid var(--ra-line); }
.ht-ra-product .ht-related-products__grid > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.ht-ra-product .ht-related-products figure { min-width: 0; margin: 0; padding: 14px; background: #f2f6fa; border-radius: 10px; }
.ht-ra-product .ht-related-products img { width: 100%; height: 150px; object-fit: contain; }
.ht-ra-product .ht-related-products figcaption { margin-top: 14px; font-size: 14px; line-height: 1.45; }
.ht-ra-footer { margin-top: 36px; }
.ht-ra-footer .wp-block-button__link { min-height: 44px; padding: 12px 22px; border-radius: 6px; background: #075ca8; color: #fff; font-size: 15px; }
.ht-ra-footer .ht-share-links { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin-block: 24px; font-size: 14px; }
.ht-ra-footer .ht-share-links ul { display: flex; flex-wrap: wrap; gap: 16px; list-style: none; margin: 0; padding: 0; }
.ht-ra-footer .ht-share-links a { display: inline-flex; align-items: center; min-height: 44px; }
.ht-ra-product .ht-ra-section > .wp-block-group__inner-container > p, .ht-ra-about .ht-ra-section > .wp-block-group__inner-container > p { max-width: 74ch; }
.ht-ra-about { padding-block: 42px 64px; }
.ht-ra-about .ht-ra-hero > .wp-block-group__inner-container { grid-template-columns: minmax(0, .95fr) minmax(0, 1.1fr); align-items: center; }
.ht-ra-about h1 { margin: 0 0 22px; font-size: clamp(32px, 3.5vw, 48px); line-height: 1.12; letter-spacing: -.025em; }
.ht-ra-about .ht-ra-hero p { color: #40566d; font-size: 17px; }
.ht-ra-about .ht-ra-hero figure { margin: 0; }
.ht-ra-about .ht-ra-hero figcaption { margin-top: 12px; font-size: 14px; color: #40566d; }
.ht-ra-about .ht-ra-capabilities > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.ht-ra-about .ht-ra-capability { padding: 24px; border: 1px solid var(--ra-line); border-radius: 12px; }
.ht-ra-about .ht-ra-capability figure { margin: 0 0 20px; background: #f2f6fa; }
.ht-ra-about .ht-ra-capability img { width: 100%; height: 230px; object-fit: contain; }
.ht-ra-about .ht-ra-capability h3 { margin: 0 0 14px; font-size: 21px; }
.ht-ra-about .ht-ra-address { padding: 30px; background: #f1f6fc; border-radius: 12px; }
.ht-ra-product a:focus-visible, .ht-ra-about a:focus-visible { outline: 3px solid #075ca8; outline-offset: 4px; }
/* RA-02 additions stay inside the five opted-in source groups. */
.ht-ra-product .ht-ra-model { direction: ltr; unicode-bidi: isolate; }
.ht-ra-hero-copy, .ht-ra-hero-media, .ht-ra-capability { min-width: 0; }
.ht-ra-product .wp-block-table + .wp-block-table { margin-top: 24px; }
.ht-ra-about .ht-ra-preserved-images { margin-top: 28px; }
.ht-ra-about .ht-ra-preserved-images img { width: 100%; max-width: 560px; height: 230px; object-fit: contain; }
.ht-ra-about .ht-ra-capability h3 { overflow-wrap: anywhere; }
.ht-ra-about:lang(de) h1 { font-size: clamp(28px, 2.6vw, 36px); overflow-wrap: normal; word-break: normal; hyphens: auto; }
.ht-ra-category { --ra-line: #dce5ee; padding-block: 26px 56px; }
.ht-ra-category h1 { font-size: clamp(30px, 3vw, 42px); line-height: 1.2; margin-block: 0 18px; }
.ht-ra-category .ht-section-intro { padding: 0; margin: 0; }
.ht-ra-category-grid > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 26px; }
.ht-ra-category-extra > .wp-block-group__inner-container { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ht-ra-category-card { min-width: 0; padding: 0 0 22px; border: 1px solid var(--ra-line); border-radius: 12px; overflow: hidden; background: #fff; }
.ht-ra-category-card > .wp-block-group__inner-container { display: flex; flex-direction: column; height: 100%; }
.ht-ra-category-card figure { position: relative; flex: none; min-height: 0; margin: 0; aspect-ratio: 5 / 3; width: 100%; background: #202020; }
.ht-ra-category-card img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
.ht-ra-category-card figure > a { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.ht-ra-category-card h3 { font-size: 21px; line-height: 1.35; overflow-wrap: anywhere; margin-block: 16px; }
.ht-ra-category-card h3 { padding-inline: 22px; }
.ht-ra-category-card h3 a { text-decoration: none; color: inherit; font-size: inherit; }
.ht-ra-category-card details { margin: 0 22px 16px; }
.ht-ra-category-card .wp-block-buttons { margin-top: auto; padding: 8px 22px 0; }
.ht-ra-category-card summary { cursor: pointer; padding-block: 12px; min-height: 44px; color: #075ca8; }
.ht-ra-category-card p { font-size: 15px; line-height: 1.65; overflow-wrap: anywhere; }
.ht-ra-category .wp-block-button__link { min-height: 44px; padding: 12px 22px; border-radius: 6px; font-size: 15px; background: #075ca8; color: #fff; }
.ht-ra-category .ht-ra-secondary .wp-block-button__link { background: #edf4fc; color: #075ca8; }
@media (max-width: 700px) {
 .ht-ra-hero > .wp-block-group__inner-container, .ht-ra-about .ht-ra-hero > .wp-block-group__inner-container { grid-template-columns: minmax(0, 1fr); gap: 24px; }
 .ht-ra-product-page > h1 { margin-bottom: 22px; }
 .ht-ra-product .ht-ra-hero-media img { height: 240px; }
 .ht-ra-product .ht-related-products__grid > .wp-block-group__inner-container, .ht-ra-about .ht-ra-capabilities > .wp-block-group__inner-container { grid-template-columns: minmax(0, 1fr); }
 .ht-ra-about { padding-block: 26px 40px; }
 .ht-ra-about .ht-ra-capability, .ht-ra-about .ht-ra-address { padding: 20px; }
 .ht-ra-section { margin-top: 30px; padding-top: 24px; }
 .ht-ra-category-grid > .wp-block-group__inner-container { grid-template-columns: minmax(0,1fr); }
}
