
/* KARLEEN MARKUP V3.2 — production UI polish */
:root{
  --k-input-h:52px;
  --k-radius:0px;
}

/* Базовая читаемость: обычный текст не мельче 15–16px */
.shop-v3 main .shop-card__eyebrow,
.shop-v3 main .product-summary__eyebrow,
.shop-v3 main .article-page__meta,
.shop-v3 main .hero-kicker,
.shop-v3 main .page-hero>div>p{
  font-size:12px;
  line-height:1.4;
}

/* Контент больше не выглядит "обрезанным" */
.shop-v3 main section,
.shop-v3 main .container,
.shop-v3 main article,
.shop-v3 main .account-card,
.shop-v3 main .account-form-card,
.shop-v3 main .legal-card,
.shop-v3 main .content-card{
  min-width:0;
}

.shop-v3 .article-body,
.shop-v3 .article-body p,
.shop-v3 .article-body ul,
.shop-v3 .article-body ol,
.shop-v3 .legal-page,
.shop-v3 .legal-page p,
.shop-v3 .legal-page li,
.shop-v3 .account-main p,
.shop-v3 .why-karleen__story p,
.shop-v3 .problem-entry p,
.shop-v3 .problem-explain span,
.shop-v3 .care-note p{
  max-width:none!important;
}
.shop-v3 .article-page__narrow{max-width:1040px!important}
.shop-v3 .article-page__hero{height:auto;max-height:none;aspect-ratio:16/8;object-fit:cover}
.shop-v3 .why-karleen__story{align-items:start}
.shop-v3 .why-karleen__story>img{height:auto;min-height:420px;max-width: 620px;object-fit:cover}
.shop-v3 .series-card,
.shop-v3 .problem-entry,
.shop-v3 .editorial-grid>a{
  height:auto!important;
  max-height:none!important;
}
.shop-v3 .series-card{min-height:500px}
.shop-v3 .series-card p{font-size:15px;line-height:1.6;max-width:none}
.shop-v3 .home-intro span{font-size:16px;line-height:1.7}
.shop-v3 .why-karleen__story p:first-of-type {
  font-style: italic;
  font-size: clamp(20px, 3vw, 36px);
  line-height: 1.15;
  margin: 0 0 28px;
}
.shop-v3 .why-karleen__story p{font-size:16px;line-height:1.65;margin: 0 0 28px;}
.shop-v3 .problem-entry p{font-size:16px;line-height:1.6}
.shop-v3 .problem-explain span{font-size:16px;line-height:1.7}
.shop-v3 .care-note p{font-size:16px;line-height:1.6}
.shop-v3 .problem-warning p{font-size:15px;line-height:1.6}

/* Формы: единая production-система */
.shop-v3 form label{
  display:block;
  margin:0 0 8px;
  font-size:14px;
  line-height:1.35;
  font-weight:700;
  color:#26221f;
}
.shop-v3 form input:not([type="checkbox"]):not([type="radio"]),
.shop-v3 form select,
.shop-v3 form textarea{
  width:100%;
  min-height:var(--k-input-h);
  border:1px solid #d8d0ca;
  background:#fff;
  color:#171513;
  border-radius:var(--k-radius);
  padding:13px 15px;
  font:inherit;
  font-size:16px;
  line-height:1.35;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
  appearance:none;
}
.shop-v3 form textarea{min-height:130px;resize:vertical}
.shop-v3 form input:focus,
.shop-v3 form select:focus,
.shop-v3 form textarea:focus{
  border-color:#795b43;
  box-shadow:0 0 0 3px rgba(121,91,67,.10);
}
.shop-v3 form input::placeholder,
.shop-v3 form textarea::placeholder{color:#938b85;opacity:1}
.shop-v3 form small,
.shop-v3 .form-help{
  display:block;
  margin-top:7px;
  font-size:13px;
  line-height:1.45;
  color:#716a65;
}
.shop-v3 .field,
.shop-v3 .form-field{margin-bottom:20px}
.shop-v3 .form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.shop-v3 .form-grid .field,
.shop-v3 .form-grid .form-field{margin:0}
.shop-v3 .auth-form,
.shop-v3 .account-form-card,
.shop-v3 .checkout-grid section,
.shop-v3 .contact-form{
  border:1px solid #e4ddd7;
  background:#fff;
}
.shop-v3 .account-form-card{
  padding:28px;
  display:grid;
  gap:20px;
}
.shop-v3 .account-form-card label{margin:0}
.shop-v3 .account-form-card label > input,
.shop-v3 .account-form-card label > select,
.shop-v3 .account-form-card label > textarea{
  margin-top:8px;
}
.shop-v3 .auth-form{padding:30px}
.shop-v3 .auth-form label{margin-bottom:18px}
.shop-v3 .auth-form label > input{margin-top:8px}
.shop-v3 .auth-form .check-row,
.shop-v3 .check-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:14px;
  line-height:1.45;
}
.shop-v3 input[type="checkbox"],
.shop-v3 input[type="radio"]{
  width:18px;
  height:18px;
  margin:2px 0 0;
  accent-color:#111;
  flex:0 0 auto;
}
.shop-v3 .form-message{
  padding:12px 14px;
  background:#f7f4f1;
  border-left:3px solid #795b43;
  font-size:14px!important;
}

/* Личный кабинет */
.shop-v3 .account-layout{align-items:start}
.shop-v3 .account-main{min-width:0}
.shop-v3 .account-main h1,
.shop-v3 .account-main h2,
.shop-v3 .account-main h3{overflow-wrap:anywhere}
.shop-v3 .account-card,
.shop-v3 .account-order-card,
.shop-v3 .address-card{
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
.shop-v3 .account-nav a{
  min-height:44px;
  align-items:center;
  font-size:14px;
}
.shop-v3 .account-form-card .karleen-btn{justify-self:start;min-width:190px}

/* Каталог: цена + нормальный CTA */
.shop-v3 .shop-card{
  display:flex;
  flex-direction:column;
  height:100%;
  overflow:visible;
}

.shop-v3 .shop-card__price{
  display:block;
  color:#171513;
  font-size:22px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
}
.shop-v3 .shop-card__old-price{
  margin-left:8px;
  color:#928981;
  font-size:14px;
  font-weight:400;
  text-decoration:line-through;
}
.shop-v3 .shop-card__actions{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
}
.shop-v3 .shop-card__actions .karleen-btn{
  min-height:44px;
  padding:0 14px;
  font-size:11px;
}
.shop-v3 .shop-card__details{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 13px;
  border:1px solid #cfc7c0;
  color:#111;
  text-decoration:none;
  text-transform:uppercase;
  font-size:11px;
  font-weight:700;
}
.shop-v3 .shop-card__details:hover{border-color:#111}
.shop-v3 .shop-card.is-hidden{display:none!important}

/* Карточка товара */
.shop-v3 .product-data-placeholder{
  padding:18px 0;
  border-top:1px solid #e2dcd7;
  border-bottom:1px solid #e2dcd7;
}
.shop-v3 .product-data-placeholder>span{
  display:block;
  margin-bottom:7px;
  color:#716960;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.shop-v3 .product-price-live{
  display:flex;
  gap:12px;
  align-items:baseline;
  margin-bottom:6px;
}
.shop-v3 .product-price-live strong{font-size:30px;line-height:1}
.shop-v3 .product-price-live del{font-size:16px;color:#918981}
.shop-v3 .product-data-placeholder small{font-size:14px;line-height:1.45;color:#655e59}
.shop-v3 .product-buy .karleen-btn[disabled]{opacity:.45;cursor:not-allowed}
.shop-v3 .product-buy .karleen-btn:not([disabled]){opacity:1;cursor:pointer}

/* Корзина */
.shop-v3 .cart-line__media{
  width:70px;
  height:70px;
  object-fit:contain;
}
.shop-v3 .cart-line__title{margin:0 0 0px;font-size:14px;line-height:1.35}
.shop-v3 .cart-line__meta{font-size:12px;color:#746d67}
.shop-v3 .cart-line__price{font-size:18px;font-weight:700;white-space:nowrap}
.shop-v3 .cart-line__controls{display:flex;align-items:center;gap:10px;margin-top:10px}
.shop-v3 .cart-line__controls button{
  width:34px;height:34px;border:1px solid #d7cfc8;background:#fff;font-size:18px;
}

.shop-v3 .cart-summary .karleen-btn.is-disabled{pointer-events:none;opacity:.45}

/* Низкие разрешения */
@media (max-width: 991px){
  .shop-v3 .article-page__narrow{max-width:100%!important}
  .shop-v3 .why-karleen__story>img{min-height:0}
  .shop-v3 .series-card{min-height:0}
}
@media (max-width: 767px){
  .shop-v3 main p,
  .shop-v3 main li,
  .shop-v3 main dd,
  .shop-v3 main .article-body{font-size:12px;line-height:1.6}
  .shop-v3 .page-hero{padding:46px 0 34px}
  .shop-v3 .page-hero h1{font-size:31px;line-height:1.08}
  .shop-v3 .page-hero span{font-size:15px}
  .shop-v3 .form-grid{grid-template-columns:1fr}
  .shop-v3 .account-form-card,
  .shop-v3 .auth-form{padding:20px}
  .shop-v3 .shop-card__price{font-size:18px}
  .shop-v3 .shop-card__actions{grid-template-columns:1fr}
  .shop-v3 .shop-card__details{min-height:40px}
  .shop-v3 .shop-card__actions .karleen-btn{min-height:42px}
  .shop-v3 .cart-line{grid-template-columns:72px 1fr;align-items:start}
  .shop-v3 .cart-line__media{width:72px;height:72px}
  .shop-v3 .cart-line__price{grid-column:2}
}
@media (max-width: 480px){
  .shop-v3 .account-form-card{padding:16px}
  .shop-v3 form input:not([type="checkbox"]):not([type="radio"]),
  .shop-v3 form select,
  .shop-v3 form textarea{font-size:16px}
}
