/* cintapuntoopinie.pl — design tokens taken from cintapunto.pl (Flatsome) */
:root{
  --red:#ed1d24; --red-dark:#c9151b; --text:#333; --muted:#777; --nav:#2c3e50;
  --topbar:#e2e2e2; --soft:#f7f7f7; --line:#ececec; --footer:#182737; --star-off:#dcdcdc;
  --radius:5px; --shadow:0 1px 3px rgba(0,0,0,.12),0 4px 12px rgba(0,0,0,.07);
  --shadow-hover:0 3px 6px rgba(0,0,0,.14),0 10px 24px rgba(0,0,0,.10);
  --font:"Helvetica Neue",Helvetica,Arial,"Noto Sans",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:16px;line-height:1.6;color:var(--text);background:#fff}
a{color:var(--red);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
h1,h2,h3{color:var(--text);line-height:1.25;margin:0}
.container{max-width:1080px;margin:0 auto;padding:0 15px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ico{width:18px;height:18px;fill:currentColor;flex:none}
.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}

/* buttons — same as cintapunto.pl "SPERSONALIZUJ" / "KOSZYK" */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:6px 16px;border:2px solid var(--red);
  border-radius:var(--radius);font:700 12.8px/1.2 var(--font);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;
  transition:background-color .2s,color .2s,box-shadow .2s;text-decoration:none!important;white-space:nowrap}
.btn--primary{background:var(--red);color:#fff}
.btn--primary:hover{background:var(--red-dark);border-color:var(--red-dark)}
.btn--outline{background:#fff;color:var(--red)}
.btn--outline:hover{background:var(--red);color:#fff}
.btn--lg{min-height:44px;padding:10px 26px;font-size:14px}
.btn--block{display:flex;width:100%}
.btn:focus-visible,.chip:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--nav);outline-offset:2px}

/* top bar + header */
.topbar{background:var(--topbar);font-size:13px}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:30px}
.topbar__msg{margin:0;font-weight:700}
.topbar__nav{display:flex}
.topbar__nav a{color:var(--text);padding:0 11px;border-left:1px solid #c9c9c9;line-height:1}
.topbar__nav a:first-child{border-left:0}
.header{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08);position:relative;z-index:2}
.header__inner{display:flex;align-items:center;gap:20px;min-height:82px}
.header__logo{display:block;line-height:0}
.header__logo img{height:30px;width:auto}
.header__tag{font-size:15px;color:var(--muted);padding-left:20px;border-left:1px solid var(--line)}
.header__actions{margin-left:auto;display:flex;gap:10px}
.catnav{border-top:1px solid var(--line)}
.catnav__inner{display:flex;flex-wrap:wrap;gap:0 22px;min-height:44px;align-items:center}
.catnav a{color:var(--nav);font-size:12.8px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;padding:12px 0}
.catnav a:hover{color:var(--red);text-decoration:none}

/* hero */
.hero{background:var(--soft);padding:56px 0}
.hero__inner{display:grid;grid-template-columns:1fr 330px;gap:40px;align-items:center}
.hero h1{font-size:36px;font-weight:700;margin-bottom:14px}
.hero__lead{font-size:17px;color:#555;margin:0 0 20px;max-width:620px}
.hero__facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.hero__facts li{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:7px 14px;font-size:14px}
.hero__facts strong{color:var(--red)}
.score{padding:26px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.score__label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.score__value{font-size:58px;font-weight:700;line-height:1;color:var(--text)}
.score__value span{font-size:22px;color:var(--muted);font-weight:400}
.score__count{font-size:14px;color:var(--muted);margin-bottom:6px}

/* stars */
.stars{display:inline-flex;gap:2px;line-height:0}
.stars svg{width:18px;height:18px;fill:var(--red)}
.stars svg.off{fill:var(--star-off)}
.stars--lg{position:relative;display:inline-block}
.stars--lg svg{width:28px;height:28px;margin:0 1px}
.stars__bg,.stars__fg{display:flex;white-space:nowrap}
.stars__bg svg{fill:var(--star-off)}
.stars__fg{position:absolute;top:0;left:0;overflow:hidden}

/* reviews */
.reviews{padding:56px 0 30px}
.section-title{text-align:center;font-size:24px;font-weight:700;margin-bottom:28px}
.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;margin-bottom:28px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid #ddd;background:#fff;color:var(--text);border-radius:999px;padding:7px 14px;font:600 14px/1 var(--font);cursor:pointer}
.chip span{color:var(--muted);font-weight:400;margin-left:4px}
.chip:hover{border-color:var(--red);color:var(--red)}
.chip.is-active{background:var(--red);border-color:var(--red);color:#fff}
.chip.is-active span{color:rgba(255,255,255,.85)}
.search{flex:1 1 240px;display:flex;align-items:center;gap:8px;border:1px solid #ddd;border-radius:var(--radius);padding:0 12px;color:var(--muted);min-height:40px}
.search input{border:0;outline:0;font:15px var(--font);width:100%;min-height:38px;background:transparent;color:var(--text)}
.sort select{min-height:40px;border:1px solid #ddd;border-radius:var(--radius);padding:0 10px;font:15px var(--font);background:#fff;color:var(--text)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}
.review{padding:20px 20px 18px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .2s}
.review:hover{box-shadow:var(--shadow-hover)}
.review[hidden]{display:none}
.review__head{display:flex;align-items:center;gap:12px}
.avatar{position:relative;flex:none;width:44px;height:44px;border-radius:50%;background:var(--av,#2c3e50);color:#fff;font-weight:700;font-size:18px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;text-transform:uppercase}
.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.review__author{font-size:16px;font-weight:700;overflow-wrap:anywhere}
.review__date{font-size:13px;color:var(--muted)}
.review__text p{margin:0;font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.review__text.is-clamped p{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.review__more{align-self:flex-start;border:0;background:none;color:var(--red);font:700 13px var(--font);padding:0;cursor:pointer;text-transform:uppercase;letter-spacing:.03em}
.reply{background:var(--soft);border-left:3px solid var(--red);border-radius:0 var(--radius) var(--radius) 0;padding:10px 12px;margin-top:4px}
.reply__head{display:block;font-size:13px;font-weight:700;color:var(--nav);margin-bottom:4px;line-height:1.4}
.reply__head span{font-weight:400;color:var(--muted)}
.reply__head .ico{width:15px;height:15px;color:var(--red);vertical-align:-3px;margin-right:5px}
.reply p{margin:0;font-size:14px;color:#555;overflow-wrap:anywhere}
.empty{text-align:center;color:var(--muted);padding:30px 0}
.more-wrap{text-align:center;margin:30px 0 10px}
.notice{max-width:780px;margin:40px auto 0;padding:18px 22px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.notice h2{font-size:16px;margin-bottom:6px}
.notice p{margin:0;font-size:14px;color:#555}

/* CTA */
.cta{background:var(--soft);padding:56px 0}
.cta__lead{text-align:center;max-width:680px;margin:-12px auto 28px;color:#555}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:28px}
.tile{display:flex;align-items:center;justify-content:center;min-height:70px;padding:12px;text-align:center;color:var(--text);font-weight:700;
  text-transform:uppercase;font-size:14px;letter-spacing:.02em;border-bottom:3px solid transparent;transition:box-shadow .2s,border-color .2s}
.tile:hover{text-decoration:none;border-bottom-color:var(--red);box-shadow:var(--shadow-hover);color:var(--red)}
.cta__buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}

/* footer */
.footer{background:#fff;border-top:1px solid var(--line);font-size:14px}
.footer__cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px;padding-top:40px;padding-bottom:30px}
.footer h2{font-size:14px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px}
.footer p{margin:0 0 10px;color:#555}
.footer ul{list-style:none;margin:0;padding:0}
.footer li{margin-bottom:6px}
.footer li a{color:#555}
.footer li a:hover{color:var(--red)}
.footer__bottom{background:var(--footer);color:rgba(255,255,255,.8);font-size:13px}
.footer__bottom-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:14px;padding-bottom:14px}

/* responsive */
@media (max-width:1000px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero__inner{grid-template-columns:1fr 300px;gap:28px}
  .header__tag{display:none}
}
@media (max-width:760px){
  .topbar__msg{display:none}
  .topbar__inner{justify-content:center}
  .header__inner{min-height:64px;gap:12px}
  .header__logo img{height:22px}
  .header__actions .btn--outline{display:none}
  .header__actions .btn{min-height:34px;padding:5px 12px;font-size:11.5px}
  .catnav__inner{flex-wrap:nowrap;overflow-x:auto;gap:0 18px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .catnav__inner::-webkit-scrollbar{display:none}
  .catnav a{white-space:nowrap}
  .hero{padding:32px 0}
  .hero__inner{grid-template-columns:1fr}
  .hero h1{font-size:28px}
  .hero__lead{font-size:16px}
  .grid{grid-template-columns:1fr;gap:16px}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer__cols{grid-template-columns:1fr 1fr}
  .reviews,.cta{padding:40px 0}
  .toolbar{padding:12px}
  .sort{flex:1 1 100%}
  .sort select{width:100%}
}
@media (max-width:420px){
  .footer__cols{grid-template-columns:1fr}
  .chip{padding:7px 11px;font-size:13px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
