/* Bezpieczny Tag - sekcja "Opinie rodzicow" */

.bt-op{position:relative;background:#F1F9FD;padding:74px 4vw 78px;overflow-x:clip}
.bt-op__in{position:relative;z-index:2;max-width:1240px;margin:0 auto}

.bt-op__deco{position:absolute;inset:0;z-index:1;pointer-events:none}
.bt-op__deco svg{position:absolute;display:block}
.bt-op__deco .o-heart{left:2.2%;top:44px;width:clamp(44px,4.4vw,74px)}
.bt-op__deco .o-arc{left:-6%;bottom:-14%;width:clamp(180px,20vw,300px)}
.bt-op__deco .o-lines{right:3.4%;top:52px;width:clamp(34px,3.4vw,54px);transform:rotate(14deg)}
@media (max-width:900px){.bt-op__deco{display:none}}

.bt-op__head{display:flex;align-items:center;justify-content:center;gap:clamp(16px,3vw,44px);margin:0 0 34px}
.bt-op__spark{flex:0 0 auto;width:clamp(24px,2.6vw,38px);height:auto;aspect-ratio:46/80;overflow:visible}
.bt-op__spark--r{transform:scaleX(-1)}
.bt-op__title{text-align:center}
.bt-op__title h2{font-weight:900;font-size:clamp(28px,3.4vw,44px);line-height:1.1;letter-spacing:-.02em;margin:0;color:#14265E;text-wrap:balance}
.bt-op__swash{display:block;width:104px;height:9px;border-radius:999px;background:#B9DFFD;margin:9px auto 0}
.bt-op__title p{font-size:clamp(15px,1.35vw,18px);line-height:1.5;margin:12px 0 0;color:rgba(20,38,94,.82)}

.bt-op__wrap{position:relative}
.bt-op__view{overflow:hidden;padding:8px 3px 12px}
.bt-op__track{display:flex;gap:18px;transition:transform .48s cubic-bezier(.4,0,.2,1);will-change:transform}
.bt-op__track.is-instant{transition:none}

.bt-op__card{flex:0 0 calc((100% - 36px)/3);box-sizing:border-box;margin:0;background:#fff;border-radius:26px;padding:36px 34px 32px;box-shadow:0 14px 34px rgba(20,38,94,.08);display:flex;flex-direction:column}
.bt-op__q{display:block;font-family:Georgia,'Times New Roman',serif;font-size:128px;line-height:.6;color:#C4E2FD;height:78px}

.bt-op__stars{display:flex;justify-content:center;gap:6px;margin:20px 0 0}
.bt-op__stars svg{display:block;width:clamp(22px,2.1vw,29px);height:auto}
.bt-op__stars svg path{fill:#F5B325}
.bt-op__stars .is-off svg path{fill:none}
.bt-op__stars .is-off{opacity:.45}

.bt-op__pill{display:block;width:fit-content;margin:22px auto 0;background:#DEF0FD;color:#14265E;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.3;padding:12px 20px;border-radius:999px;text-align:center}

.bt-op__text{margin:26px 0 0;text-align:center}
.bt-op__text p{margin:0;font-size:clamp(15.5px,1.35vw,17.5px);line-height:1.56;color:rgba(20,38,94,.92);text-wrap:pretty}

.bt-op__hr{display:block;height:1px;background:#C7E2FA;margin:32px 0 0}
.bt-op__by{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px 0 0;font-size:16px;color:#14265E}
.bt-op__ava{width:26px;height:26px;flex:0 0 auto}

.bt-op__nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border:0;border-radius:50%;background:#fff;box-shadow:0 10px 26px rgba(20,38,94,.14);display:grid;place-items:center;cursor:pointer;z-index:3;transition:transform .18s ease,box-shadow .18s ease}
.bt-op__nav svg{width:22px;height:22px}
.bt-op__nav--prev{left:-64px}
.bt-op__nav--next{right:-64px}
.bt-op__nav--next svg{transform:scaleX(-1)}
.bt-op__nav:hover{transform:translateY(-50%) scale(1.06);box-shadow:0 14px 30px rgba(20,38,94,.18)}
.bt-op__nav:focus-visible{outline:3px solid #3B9EFF;outline-offset:3px}

.bt-op__dots{display:flex;justify-content:center;gap:12px;margin:26px 0 0}
.bt-op__dot{width:11px;height:11px;padding:0;border:0;border-radius:50%;background:#C4E1FD;cursor:pointer}
.bt-op__dot.is-on{background:#027CFE}
.bt-op__dot:focus-visible{outline:3px solid #3B9EFF;outline-offset:3px}

@media (max-width:1400px){
  .bt-op__nav--prev{left:-4px}
  .bt-op__nav--next{right:-4px}
}
@media (max-width:1000px){
  .bt-op__card{flex-basis:calc((100% - 18px)/2)}
  .bt-op__nav{width:48px;height:48px}
  .bt-op__nav--prev{left:-6px}
  .bt-op__nav--next{right:-6px}
}
@media (prefers-reduced-motion:reduce){.bt-op__track{transition:none}}

/* plakietka ze srednia ocen (widoczna tylko przy prawdziwych ocenach) */
.bt-op__score{display:flex;justify-content:center;margin:12px 0 44px;padding-top:30px}
.bt-op__score-box{position:relative;width:196px;aspect-ratio:1;background:#fff;border-radius:26px;box-shadow:0 14px 34px rgba(20,38,94,.10);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 18px 26px;text-align:center;transform:rotate(-3deg);box-sizing:border-box}
.bt-op__score-num{position:absolute;top:-34px;right:-34px;width:108px;height:108px;box-sizing:border-box;border-radius:50%;background:linear-gradient(150deg,#3B9EFF 0%,#1479DE 100%);border:6px solid #F1F9FD;box-shadow:0 12px 26px rgba(20,121,222,.30);color:#fff;display:flex;align-items:baseline;justify-content:center;padding-top:26px;transform:rotate(6deg)}
.bt-op__score-num b{font-weight:800;font-size:38px;line-height:1;letter-spacing:-.03em}
.bt-op__score-num small{font-weight:700;font-size:15px;opacity:.8;margin-left:2px}
.bt-op__score-spark{position:absolute;left:-24px;top:-14px;width:30px;height:auto;aspect-ratio:46/80;overflow:visible;transform-origin:100% 50%;transform:rotate(45deg)}
.bt-op__score-stars{display:flex;gap:4px;margin:0 0 14px}
.bt-op__sf{position:relative;display:block;width:24px;height:24px}
.bt-op__sf svg{position:absolute;inset:0;width:24px;height:24px;display:block}
.bt-op__sf .bg{fill:#F5B325;opacity:.25}
.bt-op__sf i{position:absolute;inset:0 auto 0 0;overflow:hidden;display:block}
.bt-op__sf i svg{fill:#F5B325}
.bt-op__score-label{display:block;font-weight:800;font-size:19px;line-height:1.15;color:#14265E}
.bt-op__score-sub{display:block;margin-top:5px;font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#E5177E}
@media (max-width:680px){
  .bt-op__score{margin:6px 0 34px;padding-top:26px}
  .bt-op__score-box{width:168px;border-radius:22px;padding-bottom:22px}
  .bt-op__score-num{width:92px;height:92px;top:-28px;right:-28px;padding-top:22px;border-width:5px}
  .bt-op__score-num b{font-size:32px}
  .bt-op__score-label{font-size:17px}
  .bt-op__score-spark{left:-20px;top:-12px;width:26px}
}
@media (max-width:680px){
  .bt-op{padding:56px 5vw 60px}
  .bt-op__head{gap:12px;margin-bottom:26px}
  .bt-op__track{gap:14px}
  .bt-op__card{flex-basis:100%}
  .bt-op__card{padding:26px 24px 24px;border-radius:22px}

}
.bt-op__note{text-align:center;font-size:13.5px;line-height:1.5;color:rgba(20,38,94,.68);margin:20px auto 0;max-width:620px}

/* zdjecie w karcie opinii */
.bt-op__photo{display:block;margin:-14px -12px 0;border-radius:18px;overflow:hidden;aspect-ratio:16/10;background:#DEF0FD}
.bt-op__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.bt-op__text{margin-bottom:32px}
.bt-op__hr{margin-top:auto}
@media (max-width:680px){.bt-op__photo{margin:-8px -8px 0;border-radius:16px}}
.bt-op__card:not(.has-photo) .bt-op__q{margin-top:auto}

/* formularz "Ocen Tag" */
.bt-rf{max-width:660px;margin:-18px auto 42px;text-align:center}
.bt-op__rate-btn{display:inline-block;list-style:none;cursor:pointer;background:#FA288C;color:#fff;font-weight:800;font-size:16px;line-height:1;padding:15px 32px;border-radius:999px;box-shadow:0 8px 18px rgba(250,40,140,.28);transition:transform .18s ease,box-shadow .18s ease,background .18s ease;user-select:none}
.bt-op__rate-btn::-webkit-details-marker{display:none}
.bt-op__rate-btn::marker{content:''}
.bt-op__rate-btn:hover{transform:translateY(-2px);box-shadow:0 12px 22px rgba(250,40,140,.34)}
.bt-op__rate-btn:focus-visible{outline:3px solid #3B9EFF;outline-offset:3px}
.bt-rf[open] .bt-op__rate-btn{background:#14265E;box-shadow:none;transform:none}
.bt-rf__form{margin:22px 0 0;background:#fff;border-radius:26px;box-shadow:0 14px 34px rgba(20,38,94,.08);padding:30px 32px 32px;text-align:left;display:grid;gap:16px}
.bt-rf__form h3{margin:0;font-size:22px;line-height:1.25;font-weight:800;color:#14265E;text-align:center}
.bt-rf__lead{margin:-8px 0 0;text-align:center;font-size:14.5px;line-height:1.5;color:rgba(20,38,94,.75)}
.bt-rf__label{text-align:center;font-size:14px;font-weight:700;color:#14265E;margin-bottom:-8px}
.bt-rf__stars{border:0;margin:0;padding:0;display:flex;flex-direction:row-reverse;justify-content:center;gap:6px}
.bt-rf__stars input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.bt-rf__stars label{cursor:pointer;display:block;width:38px;height:38px;border-radius:8px}
.bt-rf__stars svg{display:block;width:38px;height:38px;fill:none;stroke:#F5B325;stroke-width:1.9;stroke-linejoin:round;transition:transform .12s ease,fill .12s ease}
.bt-rf__stars label:hover svg,.bt-rf__stars label:hover~label svg,.bt-rf__stars input:checked~label svg{fill:#F5B325}
.bt-rf__stars label:hover svg{transform:scale(1.08)}
.bt-rf__stars input:focus-visible+label{outline:3px solid #3B9EFF;outline-offset:2px}
.bt-rf__field{display:grid;gap:6px;font-size:14px;font-weight:700;color:#14265E}
.bt-rf__field input,.bt-rf__field textarea{font:inherit;font-weight:400;font-size:16px;line-height:1.45;color:#14265E;border:1.5px solid #C7E2FA;border-radius:14px;padding:12px 14px;background:#F7FBFE;width:100%;box-sizing:border-box;resize:vertical}
.bt-rf__field input:focus,.bt-rf__field textarea:focus{outline:none;border-color:#3B9EFF;box-shadow:0 0 0 3px rgba(59,158,255,.2);background:#fff}
.bt-rf__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bt-rf__check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:rgba(20,38,94,.85)}
.bt-rf__check input{margin:2px 0 0;width:18px;height:18px;accent-color:#FA288C;flex:0 0 auto}
.bt-rf__check a{color:#1479DE}
.bt-rf__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bt-rf__submit{justify-self:center;border:0;cursor:pointer;background:#1479DE;color:#fff;font:inherit;font-weight:800;font-size:16px;line-height:1;padding:15px 34px;border-radius:999px;box-shadow:0 8px 18px rgba(20,121,222,.25)}
.bt-rf__submit:hover{background:#0F66C0}
.bt-rf__submit:focus-visible{outline:3px solid #3B9EFF;outline-offset:3px}
.bt-rf__thanks{max-width:660px;margin:-18px auto 24px;background:#fff;border:2px solid #B9DFFD;border-radius:20px;padding:16px 22px;text-align:center;color:#14265E;font-weight:600;line-height:1.5}
@media (max-width:680px){
  .bt-rf{margin:-10px auto 32px}
  .bt-rf__row{grid-template-columns:1fr}
  .bt-rf__form{padding:22px 18px 24px;border-radius:22px}
  .bt-rf__stars label,.bt-rf__stars svg{width:34px;height:34px}
}