.rlt {--rlt-field-height: 36px; --rlt-field-gap: 7px; --rlt-max-width: 1280px; --rlt-gap: 32px; --rlt-panel-width: 40%; --rlt-play-size: 48px; --rlt-icon-size: 18px; --rlt-glow-size: 12px; --rlt-glow-speed: 2s; --rlt-highlight-glow-color: #d4a700; --rlt-video-glow-color: #d4a700; max-width: var(--rlt-max-width); width: 100%; margin-inline: auto; display: flex; align-items: flex-start; gap: var(--rlt-gap); background: transparent; color: #534b38; font-family: Arial,sans-serif; box-sizing: border-box;}
.rlt * {box-sizing: border-box;}
.rlt .rlt-content {flex: 1; min-width: 0;}
.rlt .rlt-panel {flex: 0 0 var(--rlt-panel-width); min-width: 0; padding: 15px; background: #fff; border-radius: 18px; box-shadow: 0 12px 16px #00000018;}
.rlt .rlt-icon {display: inline-flex; width: var(--rlt-icon-size); height: var(--rlt-icon-size); align-items: center; justify-content: center; flex: none;}
.rlt .rlt-icon svg,.rlt .rlt-icon i {width: 100%; height: 100%; font-size: var(--rlt-icon-size);}
.rlt .rlt-badges {display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px;}
.rlt .rlt-badge {display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; background: #512046; color: white; border-radius: 30px; font-size: 11px; font-weight: 600; line-height: 1.3;}
.rlt .rlt-badge .rlt-icon {width: 13px; height: 13px;}
.rlt .rlt-heading {font-family: Georgia,serif; font-size: 36px; line-height: 1.2; font-weight: 700; color: #20221f; margin: 0 0 16px; width: 100%; overflow-wrap: break-word;}
.rlt .rlt-highlight {color: #846400;}
.rlt[data-highlight-glow=yes] .rlt-highlight {animation: rlt-word-glow var(--rlt-glow-speed) ease-in-out infinite;}
.rlt .rlt-subtitle {font-family: Georgia,serif; color: #806220; font-size: 22px; font-weight: 400; line-height: 1.3; margin: 0 0 18px; white-space: pre-line;}
.rlt .rlt-description {font-size: 17px; line-height: 1.55; margin: 0 0 18px; white-space: pre-line; overflow-wrap: break-word;}
.rlt .rlt-facts {display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; background: white; border-radius: 12px; padding: 16px 16px; margin-bottom: 22px; box-shadow: 0 1px 1px #6c57210d;}
.rlt .rlt-fact {display: flex; flex-direction: column; min-width: 0; gap: 5px;}
.rlt .rlt-fact-label {font-size: 10px; color: #7a7a75; font-weight: 600; line-height: 1.4; overflow-wrap: break-word;}
.rlt .rlt-fact-value {font-size: 16px; line-height: 1.4; font-weight: 600; color: #252722; overflow-wrap: break-word;}
.rlt .rlt-actions {display: flex; flex-wrap: wrap; gap: 11px; margin-bottom: 20px;}
.rlt .rlt-primary,.rlt .rlt-secondary {display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 11px 18px; border-radius: 11px; line-height: 1.4; font-size: 13px; font-weight: 600; text-decoration: none; white-space: normal; max-width: 100%; text-align: center; border: 1px solid transparent; cursor: pointer;}
.rlt .rlt-primary {background: #dba900; color: #533f00; box-shadow: 0 3px 4px #aa82002b;}
.rlt .rlt-secondary {background: #dcf4e1; color: #098436;}
.rlt .rlt-primary:hover {background: #c99b00;}
.rlt .rlt-secondary:hover {background: #c9ebd1;}
.rlt button:disabled {cursor: default; opacity: .65;}
.rlt .rlt-rating {display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 12px; line-height: 1.7; font-weight: 600;}
.rlt .rlt-rating strong {color: #222;}
.rlt .rlt-stars {display: flex; color: #846400; gap: 0; flex: none;}
.rlt .rlt-stars .rlt-icon {width: 16px; height: 16px;}
.rlt .rlt-media {position: relative; aspect-ratio: 1.975; background: #ece7de; overflow: hidden; border-radius: 11px; margin-bottom: 15px;}
.rlt .rlt-poster {display: block; position: relative; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: white; overflow: hidden;}
.rlt .rlt-play {cursor: pointer;}
.rlt .rlt-poster>img {display: block; width: 100%; height: 100%; object-fit: cover;}
.rlt .rlt-caption {position: absolute; bottom: 0; left: 0; right: 0; padding: 20px 16px 14px; background: linear-gradient(transparent,#3b2039d9); color: white; font-size: 14px; line-height: 1.4; text-align: start; overflow-wrap: break-word;}
.rlt .rlt-play-icon {position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: var(--rlt-play-size); height: var(--rlt-play-size); display: flex; align-items: center; justify-content: center; background: #dba900; color: #5c4500; border-radius: 50%; isolation: isolate;}
.rlt .rlt-play-icon:before {content: ''; position: absolute; inset: 0; border-radius: inherit; z-index: -1; box-shadow: 0 0 0 var(--rlt-glow-size) var(--rlt-video-glow-color); opacity: .14;}
.rlt[data-video-glow=yes] .rlt-play-icon:before {animation: rlt-play-glow var(--rlt-glow-speed) ease-in-out infinite;}
.rlt .rlt-play-icon .rlt-icon {width: 40%; height: 40%;}
.rlt .rlt-media iframe {position: absolute; inset: 0; width: 100%; height: 100%; border: 0;}
.rlt .rlt-close {position: absolute; top: 6px; right: 6px; z-index: 2; background: white; color: #50432c; border: 1px solid #ddd; border-radius: 50%; width: 28px; height: 28px; line-height: 1; padding: 0; cursor: pointer;}
.rlt .rlt-form-box {background: #fffcef; border-radius: 12px; padding: 16px; scroll-margin-top: 100px;}
.rlt .rlt-form-header {display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-bottom: 12px;}
.rlt .rlt-form-title {font: 700 16px/1.4 Arial,sans-serif; color: #20221e; margin: 0; min-width: 0; overflow-wrap: break-word;}
.rlt .rlt-form-badge {padding: 3px 8px; border-radius: 30px; background: #ffdc8b; color: #8b692a; font-size: 11px; font-weight: 600; line-height: 1.3;}
.rlt .rlt-form-description {font-size: 13px; line-height: 1.55; margin: 0 0 14px; white-space: pre-line;}
.rlt .rlt-privacy {display: flex; align-items: center; justify-content: center; gap: 4px; color: #807e77; font-size: 10px; font-weight: 600; line-height: 1.5; margin-top: 12px; text-align: center;}
.rlt .rlt-privacy .rlt-icon {color: #826100; width: 13px; height: 13px;}
.rlt .rlt-fields {display: flex; flex-direction: column; gap: var(--rlt-field-gap); min-width: 0;}
.rlt .rlt-form .rlt-field {display: block; min-width: 0; width: 100%; margin: 0; position: relative;}
.rlt .rlt-form .rlt-two {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; min-width: 0;}
.rlt .rlt-form .wpcf7-form-control-wrap {display: block; min-width: 0; width: 100%;}
.rlt .rlt-form input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=hidden]),.rlt .rlt-form select,.rlt .rlt-form textarea {display: block; width: 100%; min-width: 0; max-width: 100%; height: var(--rlt-field-height); margin: 0; border: 1px solid #efeee9; border-radius: 8px; box-shadow: none; padding: 8px 11px; color: #35352e; background: #fff; font: 400 12px/1.5 Arial,sans-serif; box-sizing: border-box;}
.rlt .rlt-form select {padding-inline-end: 24px; appearance: auto;}
.rlt .rlt-form textarea {height: 100px;}
.rlt .rlt-form input::placeholder,.rlt .rlt-form textarea::placeholder {color: #83827d; opacity: 1;}
.rlt .rlt-form input[type=submit],.rlt .rlt-form button[type=submit] {display: block; width: 100%; min-width: 0; max-width: 100%; margin: 0; padding: 11px 14px; min-height: 40px; height: auto; border: 0; border-radius: 11px; background: #dba900; color: #533f00; font: 600 14px/1.4 Arial,sans-serif; white-space: normal; box-shadow: 0 3px 4px #aa820029; cursor: pointer;}
.rlt .rlt-form input[type=submit]:hover {background: #c99b00;}
.rlt .rlt-form .rlt-submit {position: relative; min-width: 0; width: 100%;}
.rlt .rlt-form .wpcf7-spinner {position: absolute; top: 8px; inset-inline-end: 8px; margin: 0; pointer-events: none;}
.rlt .rlt-form .wpcf7-not-valid-tip {font-size: 11px; line-height: 1.5; margin-top: 3px;}
.rlt .rlt-form .wpcf7-response-output {font-size: 12px; line-height: 1.6; margin: 12px 0 0; padding: 8px 10px; overflow-wrap: break-word;}
.rlt .rlt-form p {margin: 0;}
.rlt .rlt-form br {display: none;}
.rlt .rlt-form label,.rlt .rlt-form .rlt-field>p {display: block; margin: 0;}
.rlt .rlt-form .wpcf7-form input:focus-visible,.rlt .rlt-form select:focus-visible,.rlt button:focus-visible,.rlt a:focus-visible {outline: 2px solid #b58c10; outline-offset: 2px;}
.rlt .rlt-form-unavailable {font-size: 13px; line-height: 1.6;}
.rlt .rlt-sr {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;}
.rlt .rlt-subtitle,.rlt .rlt-form-description,.rlt .rlt-rating {overflow-wrap: break-word;}
@keyframes rlt-word-glow { 
  0%,100% {text-shadow: 0 0 0 transparent;} 
  50% {text-shadow: 0 0 var(--rlt-glow-size) var(--rlt-highlight-glow-color);} 
}
@keyframes rlt-play-glow { 
  0%,100% {opacity: .08; transform: scale(.9);} 
  50% {opacity: .35; transform: scale(1.15);} 
}
@media (max-width:1024px) {.rlt {--rlt-gap: 24px; --rlt-panel-width: 44%;}.rlt .rlt-heading {font-size: 34px;}.rlt .rlt-subtitle {font-size: 21px;}.rlt .rlt-description {font-size: 16px;}.rlt .rlt-facts {grid-template-columns: repeat(2,minmax(0,1fr));}.rlt .rlt-actions {flex-direction: column; align-items: stretch;}.rlt .rlt-panel {padding: 12px;}}
@media (max-width:767px) {.rlt {--rlt-field-height:38px;flex-direction: column; gap: 24px;}.rlt .rlt-content,.rlt .rlt-panel {width: 100%; flex: 0 0 auto;}.rlt .rlt-heading {font-size: 32px;}.rlt .rlt-description {font-size: 16px;}.rlt .rlt-subtitle {font-size: 21px;}.rlt .rlt-panel {border-radius: 16px;}.rlt[data-mobile-order=panel_first] .rlt-panel {order: -1;}.rlt .rlt-facts {padding: 16px; gap: 14px;}.rlt .rlt-fact-value {font-size: 15px;}.rlt .rlt-form-box {padding: 15px;}.rlt .rlt-form .rlt-two {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px;}.rlt .rlt-primary,.rlt .rlt-secondary {width: 100%; padding: 12px 14px;}.rlt .rlt-rating {gap: 8px;}.rlt .rlt-badge {font-size: 10px;}.rlt .rlt-form select {font-size: 11px; padding-inline-start: 8px;}}
@media (prefers-reduced-motion:reduce) {.rlt[data-highlight-glow=yes] .rlt-highlight,.rlt[data-video-glow=yes] .rlt-play-icon:before {animation: none;}}

/* CF7 may wrap adjacent labels in a paragraph. Keep those wrappers out of the grid. */
.rlt .rlt-form .rlt-fields > p,.rlt .rlt-form .rlt-two > p{display:contents}
.rlt .rlt-form .rlt-two > .rlt-field,.rlt .rlt-form .rlt-two > p > .rlt-field{width:100%;min-width:0}
.rlt .rlt-form .rlt-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.rlt .rlt-form p{font:400 12px/1.55 Arial,sans-serif;color:inherit;margin:0}
.rlt .rlt-form .rlt-sr{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}

.rlt .rlt-form .hidden-fields-container{display:none}
.rlt .rlt-form .screen-reader-response{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
.rlt .rlt-form .wpcf7-response-output:empty{display:none}
@media(max-width:360px){.rlt .rlt-form-box{padding:12px}.rlt .rlt-form-header{gap:6px}.rlt .rlt-form-title{font-size:15px}.rlt .rlt-form-badge{font-size:10px;padding:3px 6px}.rlt .rlt-form select{font-size:10.5px;padding-inline-end:18px}}
/* Keep the compact age/tutor row intact under host-theme form layout rules. */
.rlt .rlt-form form .rlt-fields>.rlt-two{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px;width:100%;min-width:0}
.rlt .rlt-form form .rlt-fields>.rlt-two>.rlt-field{display:block!important;width:auto!important;min-width:0;max-width:100%;float:none!important;margin:0}
.rlt .rlt-form form[data-rlt-compact=yes] .rlt-fields>p:empty{display:none}
