/* t320: journal, reviews, account. Tokens: #141413 #EFEFEF #D8D8D8 #666 #C89B3C #FFFFFF */
.tb-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.tb-section{color:#141413;background:#fff}
.tb-section a{color:inherit}
.tb-section :focus-visible{outline:2px solid #141413;outline-offset:3px}
.tb-section ::selection{background:#C89B3C;color:#141413}

/* Clear the fixed storefront header so H1 and cabinet tabs stay readable. */
#view-journal,
#view-otzyvy,
#view-account,
#view-login{
  padding-top: var(--header-height);
}
#tbStoreReviewForm,
#otzyvyHeading,
#accountHeading,
#loginHeading{
  scroll-margin-top: calc(var(--header-height) + 12px);
}


/* Journal panel: foto-3 strip below the header, canon 63px / 100px */
.tb-jr-photo{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-color:#EFEFEF;
  background-image:url("/frames/foto-3.webp");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:right center;
  height:100px;
  min-height:100px;
  max-height:100px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:16px 32px;
  box-sizing:border-box;
}
.tb-jr-photo::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(90deg,#EFEFEF 0 38%,rgba(239,239,239,.82) 52%,transparent 72%);
}
.tb-jr-hero{position:relative;z-index:1;max-width:22rem}
.tb-jr-hero h1,
.tb-jr-hero h2{
  margin:0;
  font-family:Manrope,sans-serif;
  font-weight:800;
  font-size:38px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#141413;
}
.tb-jr-sub{
  margin:8px 0 0;
  font-size:18px;
  line-height:1.15;
  color:#141413;
}
.tb-jr-empty{
  max-width:720px;
  padding:40px 32px 80px;
  box-sizing:border-box;
}
.tb-jr-empty h2{
  margin:0 0 12px;
  font-size:24px;
  line-height:1.3;
  font-weight:750;
}
.tb-jr-empty p{
  margin:0;
  max-width:62ch;
  color:#666;
  font-size:15px;
  line-height:1.6;
}
.tb-jr-catalog-link{
  display:inline-block;
  margin-top:16px;
  color:#141413;
  font-size:15px;
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:3px;
}
.tb-jr-catalog-link:hover,
.tb-jr-catalog-link:focus-visible{color:#141413}

/* Reviews: retail-v4 empty + store form */
.tb-otzyvy .tb-page-head{
  padding:34px 32px 29px;
  border-bottom:1px solid #D8D8D8;
}
.tb-otzyvy .tb-page-head__inner{max-width:1376px;margin:0 auto}
.tb-otzyvy .tb-page-head h1{
  font-size:36px;
  line-height:1.18;
  letter-spacing:-.025em;
  margin:0 0 10px;
  font-weight:750;
}
.tb-otzyvy .tb-page-head p{margin:0;max-width:760px;color:#666;font-size:14px;line-height:1.55}
.tb-reviews-shell{
  max-width:1376px;
  margin:0 auto;
  padding:34px 32px 48px;
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:52px;
  align-items:start;
  box-sizing:border-box;
}
#tbReviewsEmpty[hidden],
.tb-reviews-shell[hidden],
#tbReviewList[hidden]{display:none!important}
.tb-empty-summary h2{font-size:24px;line-height:1.3;margin:0 0 12px}
.tb-empty-summary p{font-size:13px;color:#666;margin:0 0 20px;line-height:1.55}
.tb-empty-state{border-top:1px solid #141413;padding:42px 0 8px;max-width:700px}
.tb-empty-state h2{font-size:25px;line-height:1.3;margin:0 0 13px}
.tb-empty-state p{max-width:62ch;color:#666;margin:0 0 18px;font-size:15px;line-height:1.6}
.tb-empty-hints{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-top:1px solid #D8D8D8;padding-top:22px;margin-top:8px}
.tb-empty-hints strong{display:block;font-size:13px;margin-bottom:5px}
.tb-empty-hints span{font-size:12px;color:#666;line-height:1.5}
.tb-review-list{display:grid;gap:0}
.tb-review-card{padding:30px 0 32px;border-bottom:1px solid #D8D8D8}
.tb-review-card__name{font-size:16px;font-weight:750}
.tb-review-card__meta{font:12px/1.5 "IBM Plex Mono",monospace;color:#666;margin-top:4px}
.tb-review-card__body{margin:14px 0 0;font-size:14px;line-height:1.65;max-width:75ch}
.tb-form-shell{max-width:920px;margin:0 auto;padding:8px 32px 72px;box-sizing:border-box}
.tb-form-intro{max-width:70ch;color:#666;font-size:13px;margin:0 0 28px;line-height:1.55}
.tb-review-form{border-top:1px solid #141413;padding-top:27px}
.tb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.tb-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.tb-field.span-2{grid-column:1/-1}
.tb-field>label{font-size:12px;font-weight:750;line-height:1.35}
.tb-field input,.tb-field textarea,.tb-field select{
  width:100%;min-height:46px;border:1px solid #D8D8D8;border-radius:0;background:#fff;color:#141413;
  padding:10px 12px;font:14px/1.45 Manrope,sans-serif;box-sizing:border-box
}
.tb-field textarea{min-height:118px;resize:vertical}
.tb-field small{color:#666;font-size:11px;line-height:1.55}
.tb-star-input{display:flex;gap:5px;margin:8px 0;flex-wrap:wrap}
.tb-star-input input{position:absolute;opacity:0;width:1px;height:1px}
.tb-star-input label{padding:5px;cursor:pointer;color:#666;min-width:44px;min-height:44px;display:grid;place-items:center}
.tb-star-input input:checked+label,
.tb-star-input label:has(+ input:checked),
.tb-star-input:has(input:checked) label.tb-star-on{color:#C89B3C}
.tb-star-input label svg{width:28px;height:28px;fill:currentColor}
.tb-consents{margin-top:28px;border-top:1px solid #141413}
.tb-consent{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;padding:18px 0;border-bottom:1px solid #D8D8D8;font-size:12px;line-height:1.65;cursor:pointer}
.tb-consent input{appearance:none;width:20px;height:20px;margin:2px 0 0;border:1px solid #666;border-radius:0;background:#fff;display:grid;place-items:center}
.tb-consent input:checked{background:#141413}
.tb-consent input:checked:after{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px)}
.tb-form-status{min-height:22px;color:#666;font-size:12px;margin:15px 0}
.tb-form-status[data-kind="error"]{color:#141413;font-weight:650}
.tb-form-footer{display:flex;align-items:center;justify-content:space-between;gap:24px}
.tb-form-footer p{font-size:11px;color:#666;max-width:480px;margin:0}
.tb-btn{
  display:inline-flex;min-height:46px;align-items:center;justify-content:center;
  padding:12px 22px;border:1px solid #C89B3C;border-radius:0;background:#C89B3C;color:#141413;
  font-size:12px;font-weight:800;letter-spacing:.06em;text-decoration:none;cursor:pointer
}
.tb-btn:hover{background:#C89B3C}
.tb-btn:disabled{background:#EFEFEF;border-color:#D8D8D8;color:#666;cursor:not-allowed}
.tb-btn--wide{width:100%}
.tb-note{font-size:13px;color:#666;line-height:1.55;max-width:62ch}

/* Account / login */
.tb-account-shell,.tb-login-shell{max-width:1370px;margin:0 auto;padding:24px 32px 80px;box-sizing:border-box}
.tb-account-shell{display:grid;grid-template-columns:224px minmax(0,1fr);gap:32px;align-items:start}
.tb-account-nav{display:flex;flex-direction:column;gap:4px;background:#EFEFEF;padding:16px}
.tb-account-nav a,.tb-account-nav button{
  display:flex;align-items:center;min-height:44px;padding:10px 12px;border:0;background:none;
  color:#141413;font:600 16px/1.3 Manrope,sans-serif;text-align:left;text-decoration:none;cursor:pointer
}
.tb-account-nav a[aria-current="page"],.tb-account-nav button[aria-current="page"]{
  text-decoration:underline;text-underline-offset:4px;font-weight:750
}
.tb-account-main h1{margin:0 0 8px;font-size:32px;line-height:1.25;font-weight:750}
.tb-account-main .tb-lead{margin:0 0 24px;color:#666;font-size:15px;line-height:1.55;max-width:62ch}
.tb-account-panel[hidden]{display:none}
.tb-empty-line{margin:0;color:#666;font-size:15px;line-height:1.6;max-width:62ch}
.tb-login-form{max-width:640px;display:grid;gap:16px}
.tb-login-form .tb-field{width:100%}
.tb-login-form label{font-size:12px;font-weight:750;color:#141413}
.tb-login-form input{
  width:100%;min-height:48px;border:1px solid #D8D8D8;border-radius:0;padding:10px 12px;
  font:16px/1.4 Manrope,sans-serif;box-sizing:border-box;background:#fff;color:#141413
}

/* Admin reviews drawer */
.tb-rev-admin{position:fixed;inset:0;z-index:80;background:rgba(20,20,19,.46);display:none}
.tb-rev-admin.is-open{display:block}
.tb-rev-admin__panel{position:absolute;right:0;top:0;height:100%;width:min(520px,100%);background:#fff;border-left:1px solid #D8D8D8;overflow:auto;padding:24px;box-sizing:border-box}
.tb-rev-admin h2{margin:0 0 8px;font-size:22px}
.tb-rev-admin__item{border-top:1px solid #D8D8D8;padding:16px 0}
.tb-rev-admin__item p{margin:8px 0;font-size:14px;line-height:1.55}
.tb-rev-admin__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}

@media (max-width:767px){
  .tb-jr-photo{height:63px;min-height:63px;max-height:63px;padding:8px 16px 8px 18px}
  .tb-jr-hero{max-width:16rem}
  .tb-jr-hero h1,
  .tb-jr-hero h2{font-size:26px;letter-spacing:1.5px}
  .tb-jr-sub{margin:4px 0 0;font-size:13px;line-height:1.2}
  .tb-jr-empty{padding:28px 18px 64px}
  .tb-jr-empty h2{font-size:22px}
  .tb-otzyvy .tb-page-head{padding:20px 18px 18px}
  .tb-otzyvy .tb-page-head h1{font-size:24px}
  .tb-otzyvy .tb-page-head p{font-size:13px}
  .tb-reviews-shell{display:flex;flex-direction:column;gap:22px;padding:18px 18px 40px}
  .tb-empty-hints{grid-template-columns:1fr}
  .tb-empty-state{padding-top:28px}
  .tb-empty-state h2{font-size:22px}
  .tb-form-shell{padding:8px 18px 56px}
  .tb-form-grid{grid-template-columns:1fr}
  .tb-field.span-2{grid-column:auto}
  .tb-field input,.tb-field select{width:100%;min-height:48px;font-size:16px;border:1px solid #D8D8D8}
  .tb-field textarea{width:100%;min-height:118px;font-size:16px}
  .tb-form-footer{flex-direction:column;align-items:stretch}
  .tb-form-footer .tb-btn{width:100%;min-height:48px}
  .tb-account-shell,.tb-login-shell{padding:20px 14px 72px;grid-template-columns:1fr;gap:18px}
  .tb-account-main h1{font-size:24px}
  .tb-account-nav{flex-direction:row;padding:8px}
  .tb-account-nav a,.tb-account-nav button{flex:1;justify-content:center;font-size:14px;padding:10px 6px}
  .tb-rev-admin__panel{width:100%}
}
@media (max-width:360px){
  .tb-jr-photo,.tb-jr-empty,.tb-otzyvy .tb-page-head,.tb-reviews-shell,.tb-form-shell{padding-left:14px;padding-right:14px}
  .tb-account-nav a,.tb-account-nav button{font-size:13px}
}
@media (prefers-reduced-motion:reduce){
  .tb-section,.tb-rev-admin{scroll-behavior:auto}
}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
