.rs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rs-card{background:#fff;border:1px solid #dde4df;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 14px 36px rgba(25,45,35,.06)}
.rs-card__img{height:290px;display:grid;place-items:center;background:#f7f8f5;padding:22px}
.rs-card__img img{height:100%;width:100%;object-fit:contain}
.rs-placeholder{font-size:26px;font-weight:900;letter-spacing:.08em;color:#9aa49f}
.rs-card__body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.rs-card h3{font-size:21px;margin:0}
.rs-volume,.rs-excerpt{color:#66716b;margin:0}
.rs-price{font-size:28px;font-weight:900;margin-top:auto}
.rs-card__actions{display:flex;gap:9px;margin-top:8px}
.rs-btn,.rs-more{border:0;border-radius:11px;padding:12px 15px;font-weight:800;cursor:pointer}
.rs-btn{background:#0ea678;color:#fff;flex:1}
.rs-more{background:#eef2ef;color:#18211d}
.rs-variation{padding:10px;border:1px solid #dde4df;border-radius:10px;background:#fff}
.rs-dialog{max-width:720px;width:calc(100% - 30px);border:0;border-radius:18px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.rs-dialog::backdrop{background:rgba(10,18,14,.55)}
.rs-dialog__close{float:right;border:0;background:#eef2ef;width:34px;height:34px;border-radius:50%;font-size:24px;cursor:pointer}
.rs-checkout{width:min(1100px,calc(100% - 32px));margin:50px auto;display:grid;grid-template-columns:1.2fr .8fr;gap:28px}
.rs-checkout__form,.rs-checkout__cart{border:1px solid #dde4df;border-radius:18px;padding:24px;background:#fff}
.rs-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.rs-form-grid label{font-weight:650}
.rs-form-grid input,.rs-form-grid select,.rs-form-grid textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #ccd6d0;border-radius:10px;font:inherit}
.rs-full{grid-column:1/-1}
.rs-cart-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid #edf0ee}
.rs-checkout__total{font-size:20px;margin-top:20px}
#rs-order-message{margin-top:14px;font-weight:700}
@media(max-width:850px){.rs-grid{grid-template-columns:repeat(2,1fr)}.rs-checkout{grid-template-columns:1fr}}
@media(max-width:560px){.rs-grid{grid-template-columns:1fr}.rs-form-grid{grid-template-columns:1fr}.rs-full{grid-column:auto}.rs-card__img{height:250px}}

.rs-check input{display:inline;width:auto;margin-right:8px}
.rs-account-shell{width:min(620px,calc(100% - 32px));margin:50px auto}
.rs-account{width:min(1100px,calc(100% - 32px));margin:50px auto;display:grid;grid-template-columns:270px 1fr;gap:26px}
.rs-account__side,.rs-account__main{border:1px solid #dde4df;border-radius:18px;padding:24px;background:#fff}
.rs-avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#0ea678;color:#fff;font-size:26px;font-weight:900}
.rs-order-card{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:14px;border:1px solid #e4e9e6;border-radius:12px;margin-bottom:10px}
.rs-status{background:#e8f8f2;color:#0b7b5b;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:800}
.rs-profile-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rs-profile-form label{font-weight:650}.rs-profile-form input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #ccd6d0;border-radius:10px}
@media(max-width:850px){.rs-account{grid-template-columns:1fr}}
@media(max-width:560px){.rs-profile-form{grid-template-columns:1fr}}

/* prettier account/login */
.rs-account-shell{background:linear-gradient(180deg,#fff,#f8faf8);box-shadow:0 24px 60px rgba(20,40,30,.08)}
.rs-account-shell h2{font-size:30px;letter-spacing:-.03em;margin-top:0}
.rs-account-shell input[type=text],.rs-account-shell input[type=password],.rs-account-shell input[type=email]{
  width:100%;padding:13px 14px;border:1px solid #ccd6d0;border-radius:12px;font:inherit;background:#fff
}
.rs-account-shell #wp-submit{width:100%;background:#0ea678;border:0;color:#fff;border-radius:12px;padding:13px 16px;font-weight:800;cursor:pointer}
.rs-account{background:#f7f9f7;padding:20px;border-radius:24px}
.rs-account__side,.rs-account__main{box-shadow:0 10px 30px rgba(20,40,30,.05)}
.rs-account__side h3{font-size:22px;margin-bottom:4px}.rs-account__side p{color:#6f7a74}
.rs-account__main h2{font-size:28px;letter-spacing:-.03em}
.rs-order-card{background:#fbfcfb}

.rs-login-card{max-width:620px;padding:34px 36px}
.rs-login-kicker{display:inline-flex;background:#e7f8f1;color:#08785a;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;letter-spacing:.08em;margin-bottom:10px}
.rs-login-form{display:grid;gap:16px}
.rs-login-form label{font-weight:700}
.rs-login-form input[type=text],.rs-login-form input[type=password]{margin-top:7px}
.rs-password-wrap{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.rs-password-toggle{height:48px;border:1px solid #ccd6d0;background:#f4f7f5;border-radius:11px;padding:0 14px;font-weight:800;cursor:pointer}
.rs-login-submit{width:100%;min-height:48px}
.rs-login-error{background:#fff0f0;border:1px solid #f1c6c6;color:#a52a2a;border-radius:11px;padding:11px 13px;margin-bottom:14px}
.rs-login-help{margin-bottom:0}

/* Product card refinements */
.rs-card__img{
  height:320px;
  padding:24px;
  background:#f7f8f5;
  overflow:hidden;
}
.rs-card__img img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}
.rs-card__body{padding:20px 20px 18px;gap:9px}
.rs-card h3{font-size:20px;line-height:1.18;font-weight:750;min-height:47px}
.rs-excerpt{font-size:15px;line-height:1.45;min-height:44px}
.rs-price{
  font-size:25px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.02em;
  margin-top:6px;
}
.rs-price small{font-size:15px;font-weight:700;letter-spacing:0;color:#56615b}
.rs-card__actions{margin-top:12px}
.rs-btn,.rs-more{min-height:44px}
.rs-btn{font-size:14px}
.rs-more{font-size:13px}

/* Quick view with gallery */
.rs-dialog{max-width:900px;padding:30px}
.rs-dialog__layout{display:grid;grid-template-columns:minmax(280px,.9fr) 1.1fr;gap:28px;align-items:start}
.rs-dialog__gallery{min-width:0}
.rs-dialog__main{width:100%;height:420px;object-fit:contain;object-position:center;background:#f7f8f5;border-radius:16px;padding:16px}
.rs-dialog__thumbs{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}
.rs-thumb{width:68px;height:68px;border:2px solid transparent;background:#f7f8f5;border-radius:10px;padding:4px;cursor:pointer}
.rs-thumb.is-active{border-color:#0ea678}
.rs-thumb img{width:100%;height:100%;object-fit:contain}
.rs-dialog__info h3{font-size:28px;line-height:1.15;margin:8px 0 8px}
.rs-dialog__volume{font-weight:700;color:#66716b;margin-bottom:14px}
.rs-dialog__content{font-size:16px;line-height:1.6;color:#37423c}

/* Admin gallery */
.rs-admin-note{display:grid;gap:4px;background:#f5faf7;border:1px solid #dcebe3;border-radius:14px;padding:14px 16px;margin-bottom:16px}
.rs-admin-note>b{font-size:16px;margin-bottom:4px}
.rs-admin-note span{color:#52605a}
.rs-gallery-admin{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px}
.rs-gallery-slot{border:1px solid #dfe6e1;border-radius:12px;padding:10px;background:#fff}
.rs-gallery-preview{height:120px;display:grid;place-items:center;background:#f6f8f6;border-radius:9px;margin-bottom:9px;color:#758078}
.rs-gallery-preview img{width:100%;height:100%;object-fit:contain}
.rs-gallery-slot .button{margin-right:7px}

@media(max-width:760px){
  .rs-dialog__layout{grid-template-columns:1fr}
  .rs-dialog__main{height:320px}
}

/* 0.4.6 — карточка: фото ограничено, весь текст строго ниже */
.rs-card{display:flex;flex-direction:column;overflow:hidden}
.rs-card__img{
  flex:0 0 300px;
  height:300px;
  min-height:300px;
  max-height:300px;
  width:100%;
  padding:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#f7f8f5;
}
.rs-card__img img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.rs-card__body{
  width:100%;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  padding:18px 20px 20px;
  background:#fff;
}
.rs-card__body h3,
.rs-card__body .rs-excerpt,
.rs-card__body .rs-variation,
.rs-card__body .rs-price,
.rs-card__body .rs-card__actions{
  position:static!important;
  width:100%;
}
.rs-card__body h3{margin:0 0 8px}
.rs-excerpt{margin:0 0 12px}
.rs-price{margin:4px 0 0}

/* Checkout thumbnail */
.rs-cart-product{display:flex;align-items:center;gap:12px;min-width:0}
.rs-cart-product img,.rs-cart-noimg{
  width:54px;height:54px;flex:0 0 54px;border-radius:10px;
  object-fit:contain;background:#f5f7f5;padding:5px;
}
.rs-cart-noimg{display:grid;place-items:center;font-weight:800;color:#0ea678}
.rs-cart-row{align-items:center}

/* Payment choice */
.rs-field-title{font-weight:650;margin-bottom:7px}
.rs-payment-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rs-payment-card{
  display:flex!important;align-items:center;gap:10px;padding:13px 14px;
  border:1px solid #ccd6d0;border-radius:12px;background:#fff;cursor:pointer;
}
.rs-payment-card input{width:auto!important;margin:0!important}
.rs-payment-card span{display:block}
.rs-payment-card b,.rs-payment-card small{display:block}
.rs-payment-card small{font-weight:400;color:#6b756f;margin-top:3px}
.rs-payment-card.is-selected{border-color:#0ea678;box-shadow:0 0 0 1px #0ea678 inset;background:#f4fbf8}

/* Quick view */
.rs-dialog{max-width:940px}
.rs-dialog__layout{display:grid;grid-template-columns:minmax(300px,.95fr) 1.05fr;gap:28px}
.rs-dialog__main{
  width:100%;height:440px;object-fit:contain;object-position:center;
  background:#f7f8f5;border-radius:16px;padding:16px;cursor:zoom-in;
}
.rs-dialog__thumbs{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}
.rs-thumb{width:72px;height:72px;border:2px solid transparent;background:#f7f8f5;border-radius:10px;padding:4px;cursor:pointer}
.rs-thumb.is-active{border-color:#0ea678}
.rs-thumb img{width:100%;height:100%;object-fit:contain}
.rs-dialog__price{font-size:26px;font-weight:600;margin:18px 0 12px}
.rs-dialog__price small{font-size:15px;font-weight:400}
.rs-dialog__label{display:block;font-weight:600;margin-top:14px;margin-bottom:6px}
.rs-dialog-variation{width:100%;padding:11px;border:1px solid #ccd6d0;border-radius:10px}
.rs-dialog__buy{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:end;margin-top:12px}
.rs-dialog__buy label{font-weight:600}
.rs-dialog-qty{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #ccd6d0;border-radius:10px}

/* Fullscreen product-image viewer */
.rs-no-scroll{overflow:hidden}
.rs-lightbox{
  position:fixed;inset:0;z-index:999999;background:rgba(8,12,10,.94);
  display:none;align-items:center;justify-content:center;
}
.rs-lightbox.is-open{display:flex}
.rs-lightbox__stage{
  width:min(92vw,1200px);height:88vh;overflow:auto;
  display:flex;align-items:center;justify-content:center;
}
.rs-lightbox__stage img{
  max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in;transition:max-width .2s,max-height .2s;
}
.rs-lightbox__stage img.is-zoomed{
  max-width:none;max-height:none;width:auto;height:auto;min-width:140%;cursor:zoom-out;
}
.rs-lightbox__close,.rs-lightbox__prev,.rs-lightbox__next{
  position:fixed;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;
  display:grid;place-items:center;border-radius:50%;
}
.rs-lightbox__close{right:22px;top:20px;width:46px;height:46px;font-size:30px}
.rs-lightbox__prev,.rs-lightbox__next{top:50%;width:50px;height:50px;font-size:38px;transform:translateY(-50%)}
.rs-lightbox__prev{left:20px}.rs-lightbox__next{right:20px}
.rs-lightbox__hint{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);color:#fff;font-size:13px;opacity:.75}

@media(max-width:760px){
  .rs-card__img{height:250px;min-height:250px;max-height:250px}
  .rs-payment-options{grid-template-columns:1fr}
  .rs-dialog__layout{grid-template-columns:1fr}
  .rs-dialog__main{height:330px}
  .rs-dialog__buy{grid-template-columns:1fr}
  .rs-lightbox__prev{left:8px}.rs-lightbox__next{right:8px}
}

.rs-volume{font-size:14px;line-height:1.2;color:#6d7772;margin:0 0 8px}
.rs-dialog__subtitle{font-size:17px;line-height:1.3;font-weight:600;color:#39453f;margin:0 0 8px}
.rs-dialog__volume{margin:0 0 14px}
.rs-dialog__no-gallery{min-height:420px;border-radius:16px;background:#f7f8f5;display:grid;place-items:center;text-align:center;color:#7b857f;padding:20px}

/* 0.4.8 — checkout right column */
.rs-checkout--v2{
  align-items:start;
}
.rs-checkout__side{
  display:grid;
  gap:16px;
  padding:0;
  border:0;
  background:transparent;
}
.rs-checkout-box{
  background:#fff;
  border:1px solid #dde4df;
  border-radius:18px;
  padding:20px;
}
.rs-checkout-box h3{
  margin:0 0 14px;
  font-size:20px;
  line-height:1.15;
}
.rs-delivery-options{
  display:grid;
  gap:10px;
}
.rs-choice-card{
  display:flex;
  align-items:flex-start;
  gap:10px;
  border:1px solid #ccd6d0;
  border-radius:13px;
  padding:13px 14px;
  background:#fff;
  cursor:pointer;
}
.rs-choice-card input{
  width:auto!important;
  margin:3px 0 0!important;
}
.rs-choice-card span,.rs-choice-card b,.rs-choice-card small{
  display:block;
}
.rs-choice-card small{
  margin-top:4px;
  color:#68736d;
  line-height:1.35;
  font-weight:400;
}
.rs-choice-card.is-selected{
  border-color:#0ea678;
  box-shadow:0 0 0 1px #0ea678 inset;
  background:#f5fbf8;
}
.rs-delivery-fields{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.rs-delivery-fields label{
  font-weight:650;
}
.rs-delivery-fields input{
  display:block;
  width:100%;
  margin-top:6px;
  padding:12px;
  border:1px solid #ccd6d0;
  border-radius:10px;
  font:inherit;
}
.rs-delivery-note{
  margin:0;
  font-size:13px;
  color:#6c7771;
}
.rs-payment-options{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.rs-checkout-submit{
  width:100%;
  min-height:50px;
  font-size:15px;
}

/* quantity in order */
.rs-cart-row{
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
}
.rs-cart-product__text{
  min-width:0;
}
.rs-cart-product__text b,
.rs-cart-product__text small{
  display:block;
}
.rs-cart-product__text small{
  margin-top:2px;
  color:#707b75;
}
.rs-cart-qty{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
  border:1px solid #d9e0dc;
  border-radius:10px;
  padding:3px;
}
.rs-qty-btn{
  width:28px;
  height:28px;
  border:0;
  border-radius:7px;
  background:#eef3f0;
  color:#1f2924;
  font-size:18px;
  line-height:1;
  cursor:pointer;
}
.rs-cart-qty span{
  min-width:20px;
  text-align:center;
  font-weight:600;
}

/* 0.5.0 integrations */
.rs-delivery-fields label{position:relative}
.rs-autocomplete{
  position:absolute;
  left:0;right:0;
  top:100%;
  z-index:9999;
  max-height:280px;
  overflow:auto;
  background:#fff;
  border:1px solid #d4ddd8;
  border-radius:10px;
  box-shadow:0 12px 32px rgba(20,40,30,.12);
  margin-top:4px;
}
.rs-autocomplete:empty{display:none}
.rs-autocomplete__item{
  display:block;
  width:100%;
  text-align:left;
  border:0;
  border-bottom:1px solid #eef1ef;
  background:#fff;
  padding:10px 12px;
  cursor:pointer;
  font:inherit;
}
.rs-autocomplete__item:hover{background:#f2faf6}

/* 0.5.1 checkout */
.rs-checkout--v2{align-items:start}
.rs-checkout__side{display:grid;gap:16px}
.rs-checkout-box{background:#fff;border:1px solid #dde4df;border-radius:18px;padding:20px}
.rs-checkout-box h3{margin:0 0 14px;font-size:20px}
.rs-delivery-options{display:grid;gap:10px}
.rs-choice-card{display:flex;gap:10px;align-items:flex-start;padding:13px 14px;border:1px solid #ccd6d0;border-radius:12px;cursor:pointer}
.rs-choice-card input{width:auto!important;margin:3px 0 0!important}
.rs-choice-card span,.rs-choice-card b,.rs-choice-card small{display:block}
.rs-choice-card small{margin-top:4px;color:#69746e;font-weight:400;line-height:1.35}
.rs-choice-card.is-selected{border-color:#0ea678;background:#f5fbf8;box-shadow:0 0 0 1px #0ea678 inset}
.rs-delivery-fields{display:grid;gap:10px;margin-top:14px}
.rs-delivery-fields label{position:relative;font-weight:600}
.rs-delivery-fields input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #ccd6d0;border-radius:10px;font:inherit}
.rs-payment-options{display:grid;grid-template-columns:1fr;gap:10px}
.rs-checkout-submit{width:100%;min-height:50px}
.rs-cart-product__text b,.rs-cart-product__text small{display:block}
.rs-cart-qty{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:3px;border:1px solid #d9e0dc;border-radius:10px}
.rs-qty-btn{width:28px;height:28px;border:0;border-radius:7px;background:#eef3f0;font-size:18px;cursor:pointer}
.rs-drag-handle{cursor:grab;color:#0ea678}
.column-rs_drag{width:42px;text-align:center}
#the-list.ui-sortable tr{background:#fff}
#the-list.ui-sortable-helper{box-shadow:0 8px 24px rgba(0,0,0,.15)}

/* 0.5.3 checkout layout */
.rs-checkout--v3{
  align-items:start;
}
.rs-checkout--v3 .rs-checkout__form{
  padding:24px;
}
.rs-checkout--v3 .rs-checkout__side{
  display:grid;
  gap:16px;
}
.rs-checkout-section{
  margin-top:8px;
  padding-top:8px;
}
.rs-checkout-section h3{
  margin:0 0 12px;
  font-size:20px;
  line-height:1.15;
}
.rs-delivery-options{
  display:grid;
  gap:10px;
}
.rs-choice-card{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:13px 14px;
  border:1px solid #ccd6d0;
  border-radius:12px;
  cursor:pointer;
  background:#fff;
}
.rs-choice-card input{
  width:auto!important;
  margin:3px 0 0!important;
}
.rs-choice-card span,
.rs-choice-card b,
.rs-choice-card small{
  display:block;
}
.rs-choice-card small{
  margin-top:4px;
  color:#69746e;
  font-weight:400;
  line-height:1.35;
}
.rs-choice-card.is-selected{
  border-color:#0ea678;
  background:#f5fbf8;
  box-shadow:0 0 0 1px #0ea678 inset;
}
.rs-delivery-fields{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.rs-delivery-fields label{
  position:relative;
  font-weight:600;
}
.rs-delivery-fields input{
  display:block;
  width:100%;
  margin-top:6px;
  padding:12px;
  border:1px solid #ccd6d0;
  border-radius:10px;
  font:inherit;
}
.rs-checkout-box{
  background:#fff;
  border:1px solid #dde4df;
  border-radius:18px;
  padding:20px;
}
.rs-checkout-box h3{
  margin:0 0 14px;
  font-size:20px;
  line-height:1.15;
}
.rs-payment-options{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px;
}
.rs-payment-options[hidden]{
  display:none!important;
}
.rs-payment-card{
  display:flex!important;
  gap:10px;
  align-items:flex-start;
}
.rs-checkout-submit{
  width:100%;
  min-height:50px;
}
.rs-cart-product__text b,
.rs-cart-product__text small{
  display:block;
}
.rs-cart-product__text small{
  margin-top:3px;
  color:#6f7974;
}
.rs-cart-qty{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:9px;
  padding:3px;
  border:1px solid #d9e0dc;
  border-radius:10px;
}
.rs-qty-btn{
  width:30px;
  height:30px;
  border:0;
  border-radius:7px;
  background:#eef3f0;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.rs-qty-btn:hover{
  background:#dfe9e4;
}
.rs-qty-value{
  min-width:22px;
  text-align:center;
  font-weight:600;
}
.rs-invalid{
  border-color:#d9534f!important;
  box-shadow:0 0 0 1px #d9534f inset!important;
}
#rs-order-message.is-error{
  color:#b42318;
  font-weight:600;
}

/* Ratinger Shop 0.5.8 — customer order statuses */
.rs-order-card--status{display:block}
.rs-order-card__top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.rs-order-card__top small{display:block;color:#758078;margin-top:3px}
.rs-order-statusline{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:13px}
.rs-status{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}
.rs-status--new{background:#fff4cc;color:#816700}
.rs-status--awaiting_payment{background:#fff0d9;color:#8d5c00}
.rs-status--paid{background:#e8f4ff;color:#145f9c}
.rs-status--processing{background:#e7efff;color:#305eae}
.rs-status--sent{background:#e7f8f1;color:#08785a}
.rs-status--done{background:#edf1ee;color:#34453d}
.rs-status--cancelled{background:#fbeaea;color:#9f2929}
.rs-order-tracking{margin-top:12px;padding:10px 12px;background:#f4f8f6;border-radius:10px}
.rs-order-details{margin-top:12px;border-top:1px solid #e8ece9;padding-top:10px}
.rs-order-details summary{cursor:pointer;font-weight:600}
.rs-order-details p{margin:8px 0}

/* =========================================================
   Ratinger Shop 0.5.9 — variable product pills + card qty
   ========================================================= */
.rs-variants{display:grid;gap:7px;margin:3px 0 1px}
.rs-variants__label,.rs-dialog__label{font-size:12px;font-weight:700;color:#69756f}
.rs-variant-pills,.rs-dialog-variant-pills{display:flex;gap:7px;flex-wrap:wrap}
.rs-variant-pill,.rs-dialog-variant-pill{
  appearance:none;border:1px solid #dce6e1;background:rgba(246,249,247,.92);color:#33413a;
  min-height:36px;padding:7px 13px;border-radius:999px;font:inherit;font-size:13px;font-weight:650;cursor:pointer;
  transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease
}
.rs-variant-pill:hover,.rs-dialog-variant-pill:hover{border-color:#a9d7c6;background:#f4fbf8}
.rs-variant-pill.is-active,.rs-dialog-variant-pill.is-active{
  border-color:rgba(7,158,115,.55);background:linear-gradient(135deg,#eaf9f3,#f8fffc);color:#07845f;
  box-shadow:0 5px 15px rgba(7,145,105,.10),inset 0 1px 0 rgba(255,255,255,.95)
}
.rs-card-qty{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;color:#66716b;font-size:13px;font-weight:650}
.rs-stepper{display:grid;grid-template-columns:34px 42px 34px;align-items:center;border:1px solid #dce5e0;border-radius:12px;overflow:hidden;background:#f8faf9}
.rs-stepper button{height:36px;border:0;background:transparent;color:#087c5d;font-size:20px;cursor:pointer}
.rs-stepper input{width:42px;height:36px;border:0;border-left:1px solid #e2e8e4;border-right:1px solid #e2e8e4;background:#fff;text-align:center;font:inherit;font-weight:700;outline:0;-moz-appearance:textfield}
.rs-stepper input::-webkit-outer-spin-button,.rs-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rs-dialog-variant-pills{margin:7px 0 10px}
.rs-dialog-variant-pill{font-size:14px;min-height:39px;padding:8px 15px}
@media(max-width:560px){
  .rs-variant-pill{min-height:40px;padding:8px 14px;font-size:14px}
  .rs-card-qty{font-size:14px}
  .rs-stepper{grid-template-columns:38px 46px 38px}
  .rs-stepper button,.rs-stepper input{height:40px}
}


/* =========================================================
   Ratinger Shop 0.6.0 — variable card fix / compact layout
   ========================================================= */

.rs-variable-controls{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:5px 0 6px;
}

.rs-variable-controls .rs-variants{
  flex:1 1 auto;
  min-width:0;
  margin:0;
}

.rs-variable-controls .rs-card-qty{
  flex:0 0 auto;
  display:grid;
  gap:7px;
  margin:0;
  justify-items:end;
}

.rs-variable-controls .rs-card-qty > span{
  font-size:12px;
  line-height:1;
}

.rs-variable-controls + .rs-price{
  margin-top:8px;
}

.rs-variable-controls .rs-variant-pills{
  gap:6px;
}

.rs-variable-controls .rs-variant-pill{
  min-width:48px;
  padding:7px 10px;
}

@media(max-width:560px){
  .rs-variable-controls{
    align-items:end;
    gap:9px;
  }

  .rs-variable-controls .rs-card-qty{
    gap:6px;
  }

  .rs-variable-controls .rs-variant-pill{
    min-width:46px;
    padding:8px 9px;
  }

  .rs-variable-controls .rs-stepper{
    grid-template-columns:34px 40px 34px;
  }

  .rs-variable-controls .rs-stepper button,
  .rs-variable-controls .rs-stepper input{
    height:38px;
  }

  .rs-variable-controls .rs-stepper input{
    width:40px;
  }
}

@media(max-width:390px){
  .rs-variable-controls{
    flex-wrap:wrap;
  }

  .rs-variable-controls .rs-card-qty{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
}


/* =========================================================
   0.6.1 — MOBILE PRODUCT SWIPE
   Desktop/tablet grid remains unchanged.
   ========================================================= */

.rs-mobile-carousel-nav{
  display:none;
}

@media (max-width:560px){

  .rs-products-carousel{
    width:100%;
    min-width:0;
  }

  .rs-mobile-carousel-nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    width:100%;
    margin:0 0 12px;
    padding:0 2px;
  }

  .rs-mobile-carousel-counter{
    display:inline-flex;
    align-items:baseline;
    gap:2px;
    flex:0 0 auto;
    padding:7px 11px;
    border:1px solid rgba(14,166,120,.16);
    border-radius:999px;
    background:rgba(255,255,255,.76);
    box-shadow:0 5px 16px rgba(30,70,52,.06);
    color:#68756e;
    font-size:13px;
    line-height:1;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }

  .rs-mobile-carousel-counter strong{
    color:#0c8f69;
    font-size:15px;
    font-weight:800;
  }

  .rs-mobile-carousel-hint{
    display:inline-flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    min-width:0;
    color:#53645c;
    font-size:13px;
    line-height:1.2;
    font-weight:650;
    white-space:nowrap;
    transition:opacity .3s ease;
  }

  .rs-mobile-carousel-hand{
    display:inline-block;
    font-size:21px;
    line-height:1;
    transform:translateX(0);
    animation:none!important;
    transform-origin:center;
    will-change:transform;
  }

  .rs-products-carousel.is-used .rs-mobile-carousel-hint{
    opacity:.55;
  }

  .rs-products-carousel.is-used .rs-mobile-carousel-hand{
    animation-duration:2.2s;
  }

  @keyframes rsSwipeHint{
    0%,100%{transform:translateX(0)}
    45%{transform:translateX(7px)}
    70%{transform:translateX(3px)}
  }

  .rs-products-carousel .rs-grid,
  .rbu-products-block .rs-products-carousel .rs-grid{
    display:flex!important;
    grid-template-columns:none!important;
    gap:14px!important;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:visible;
    padding:0!important;
    margin:0!important;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .rs-products-carousel .rs-grid::-webkit-scrollbar{
    display:none;
  }

  .rs-products-carousel .rs-grid > .rs-card,
  .rbu-products-block .rs-products-carousel .rs-grid > .rs-card{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:100%!important;
    max-width:none!important;
    margin:0!important;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
}

@media (prefers-reduced-motion:reduce){
  .rs-mobile-carousel-hand{
    animation:none!important;
  }

  .rs-products-carousel .rs-grid{
    scroll-behavior:auto!important;
  }
}


/* =========================================================
   Ratinger Shop 0.6.2 — compact mobile product card
   ========================================================= */

@media (max-width:560px){

  /* Navigation: much more visible */
  .rs-mobile-carousel-nav{
    margin:0 0 8px!important;
    padding:0 4px!important;
    gap:10px!important;
  }

  .rs-mobile-carousel-counter{
    min-width:92px!important;
    min-height:48px!important;
    padding:7px 14px!important;
    justify-content:center!important;
    gap:4px!important;
    border-radius:999px!important;
    font-size:20px!important;
    line-height:1!important;
  }

  .rs-mobile-carousel-counter strong{
    font-size:32px!important;
    line-height:.95!important;
    font-weight:800!important;
    color:#078c66!important;
  }

  .rs-mobile-carousel-counter > span:not([data-rs-total]){
    font-size:21px!important;
    color:#77827c!important;
  }

  .rs-mobile-carousel-counter [data-rs-total]{
    font-size:25px!important;
    line-height:1!important;
    font-weight:800!important;
    color:#e5b72f!important;
  }

  .rs-mobile-carousel-hint{
    gap:8px!important;
    font-size:18px!important;
    line-height:1!important;
    font-weight:700!important;
    color:#53645c!important;
  }

  .rs-mobile-carousel-hand{
    font-size:32px!important;
    animation:none!important;
  }

  @keyframes rsSwipeHintStrong{
    0%,100%{transform:translateX(0) rotate(0deg)}
    45%{transform:translateX(9px) rotate(2deg)}
    70%{transform:translateX(4px) rotate(0deg)}
  }

  /* Card itself: make it much shorter vertically */
  .rs-products-carousel .rs-grid > .rs-card,
  .rbu-products-block .rs-products-carousel .rs-grid > .rs-card{
    min-height:0!important;
    height:auto!important;
  }

  .rs-products-carousel .rs-card__img,
  .rbu-products-block .rs-products-carousel .rs-card__img{
    height:220px!important;
    min-height:220px!important;
    padding:10px 16px!important;
  }

  .rs-products-carousel .rs-card__img img,
  .rbu-products-block .rs-products-carousel .rs-card__img img{
    max-height:200px!important;
    width:100%!important;
    object-fit:contain!important;
  }

  .rs-products-carousel .rs-card__body,
  .rbu-products-block .rs-products-carousel .rs-card__body{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "title title"
      "excerpt excerpt"
      "volume price"
      "variable variable"
      "actions actions"!important;
    align-items:center!important;
    gap:5px 10px!important;
    padding:12px 16px 14px!important;
    min-height:0!important;
  }

  .rs-products-carousel .rs-card h3,
  .rbu-products-block .rs-products-carousel .rs-card h3{
    grid-area:title!important;
    margin:0!important;
    font-size:22px!important;
    line-height:1.12!important;
    font-weight:700!important;
  }

  .rs-products-carousel .rs-excerpt,
  .rbu-products-block .rs-products-carousel .rs-excerpt{
    grid-area:excerpt!important;
    margin:1px 0 4px!important;
    font-size:18px!important;
    line-height:1.22!important;
  }

  .rs-products-carousel .rs-volume,
  .rbu-products-block .rs-products-carousel .rs-volume{
    grid-area:volume!important;
    justify-self:start!important;
    margin:2px 0 0!important;
    padding:7px 12px!important;
    font-size:16px!important;
    line-height:1!important;
  }

  .rs-products-carousel .rs-price,
  .rbu-products-block .rs-products-carousel .rs-price{
    grid-area:price!important;
    justify-self:end!important;
    align-self:center!important;
    margin:0!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  .rs-products-carousel .rs-price [data-price],
  .rbu-products-block .rs-products-carousel .rs-price [data-price]{
    font-size:46px!important;
    line-height:.95!important;
    font-weight:800!important;
  }

  .rs-products-carousel .rs-price small,
  .rbu-products-block .rs-products-carousel .rs-price small{
    font-size:16px!important;
    font-weight:600!important;
  }

  .rs-products-carousel .rs-variable-controls,
  .rbu-products-block .rs-products-carousel .rs-variable-controls{
    grid-area:variable!important;
    margin:2px 0!important;
  }

  .rs-products-carousel .rs-card__actions,
  .rbu-products-block .rs-products-carousel .rs-card__actions{
    grid-area:actions!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.55fr) minmax(118px,.75fr)!important;
    gap:9px!important;
    margin:7px 0 0!important;
  }

  .rs-products-carousel .rs-btn,
  .rbu-products-block .rs-products-carousel .rs-btn,
  .rs-products-carousel .rs-more,
  .rbu-products-block .rs-products-carousel .rs-more{
    min-height:52px!important;
    padding:9px 11px!important;
    font-size:20px!important;
    line-height:1.08!important;
    border-radius:14px!important;
  }

  /* Keep variable products compact too */
  .rs-products-carousel .rs-variants__label,
  .rbu-products-block .rs-products-carousel .rs-variants__label{
    font-size:13px!important;
  }

  .rs-products-carousel .rs-variant-pill,
  .rbu-products-block .rs-products-carousel .rs-variant-pill{
    min-height:34px!important;
    padding:6px 10px!important;
    font-size:14px!important;
  }

  .rs-products-carousel .rs-variable-controls .rs-stepper,
  .rbu-products-block .rs-products-carousel .rs-variable-controls .rs-stepper{
    grid-template-columns:31px 38px 31px!important;
  }

  .rs-products-carousel .rs-variable-controls .rs-stepper button,
  .rs-products-carousel .rs-variable-controls .rs-stepper input,
  .rbu-products-block .rs-products-carousel .rs-variable-controls .rs-stepper button,
  .rbu-products-block .rs-products-carousel .rs-variable-controls .rs-stepper input{
    height:34px!important;
  }
}

@media (max-width:390px){
  .rs-mobile-carousel-counter{
    min-width:82px!important;
    padding-left:11px!important;
    padding-right:11px!important;
  }

  .rs-mobile-carousel-counter strong{
    font-size:29px!important;
  }

  .rs-mobile-carousel-counter [data-rs-total]{
    font-size:22px!important;
  }

  .rs-mobile-carousel-hint{
    font-size:16px!important;
  }

  .rs-mobile-carousel-hand{
    font-size:28px!important;
  }

  .rs-products-carousel .rs-card__img,
  .rbu-products-block .rs-products-carousel .rs-card__img{
    height:205px!important;
    min-height:205px!important;
  }

  .rs-products-carousel .rs-card__img img,
  .rbu-products-block .rs-products-carousel .rs-card__img img{
    max-height:188px!important;
  }

  .rs-products-carousel .rs-price [data-price],
  .rbu-products-block .rs-products-carousel .rs-price [data-price]{
    font-size:42px!important;
  }

  .rs-products-carousel .rs-btn,
  .rbu-products-block .rs-products-carousel .rs-btn,
  .rs-products-carousel .rs-more,
  .rbu-products-block .rs-products-carousel .rs-more{
    font-size:18px!important;
  }
}


/* =========================================================
   Ratinger Shop 0.6.3 — clean rounded mobile shadow
   ========================================================= */

@media (max-width:560px){

  /* Kill any old square / pseudo-element shadows */
  .rs-products-carousel .rs-card::before,
  .rs-products-carousel .rs-card::after,
  .rbu-products-block .rs-products-carousel .rs-card::before,
  .rbu-products-block .rs-products-carousel .rs-card::after{
    content:none!important;
    display:none!important;
    box-shadow:none!important;
    background:none!important;
  }

  .rs-products-carousel .rs-card,
  .rbu-products-block .rs-products-carousel .rs-card{
    position:relative!important;
    overflow:hidden!important;
    border-radius:28px!important;

    box-shadow:
      0 16px 34px rgba(28,76,59,.16),
      0 5px 12px rgba(28,76,59,.08),
      inset 0 1px 0 rgba(255,255,255,.82)!important;
  }

  /* Remove shadow fragments from inner wrappers */
  .rs-products-carousel .rs-card__img,
  .rs-products-carousel .rs-card__body,
  .rbu-products-block .rs-products-carousel .rs-card__img,
  .rbu-products-block .rs-products-carousel .rs-card__body{
    box-shadow:none!important;
  }

  /* Slight visual lift, but still clean and rounded */
  .rs-products-carousel .rs-card{
    transform:translateZ(0);
  }

  .rs-products-carousel .rs-grid,
  .rbu-products-block .rs-products-carousel .rs-grid{
    padding:10px 4px 20px!important;
  }
}

@media (max-width:390px){
  .rs-products-carousel .rs-card,
  .rbu-products-block .rs-products-carousel .rs-card{
    border-radius:26px!important;

    box-shadow:
      0 14px 28px rgba(28,76,59,.15),
      0 4px 10px rgba(28,76,59,.07),
      inset 0 1px 0 rgba(255,255,255,.80)!important;
  }
}


/* =========================================================
   Ratinger Shop 0.6.4 — mobile image / border refinement
   ========================================================= */

@media (max-width:560px){

  /* Make product image visually larger and remove excessive vertical air */
  .rs-products-carousel .rs-card__img,
  .rbu-products-block .rs-products-carousel .rs-card__img{
    height:300px!important;
    min-height:300px!important;
    padding:20px 16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .rs-products-carousel .rs-card__img img,
  .rbu-products-block .rs-products-carousel .rs-card__img img{
    width:auto!important;
    max-width:88%!important;
    max-height:260px!important;
    height:auto!important;
    object-fit:contain!important;
  }

  /* Keep content close to the image */
  .rs-products-carousel .rs-card__body,
  .rbu-products-block .rs-products-carousel .rs-card__body{
    padding-top:8px!important;
  }

  /* Slightly smaller "Детальніше" so it stays comfortably inside */
  .rs-products-carousel .rs-more,
  .rbu-products-block .rs-products-carousel .rs-more{
    font-size:18px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }

  /* Remove large outer shadow completely */
  .rs-products-carousel .rs-card,
  .rbu-products-block .rs-products-carousel .rs-card{
    border:2px solid rgba(14,166,120,.38)!important;
    border-radius:28px!important;
    box-shadow:
      0 0 0 2px rgba(14,166,120,.06),
      0 5px 12px rgba(14,166,120,.08)!important;
  }

  /* Prevent old shadow/pseudo layers */
  .rs-products-carousel .rs-card::before,
  .rs-products-carousel .rs-card::after,
  .rbu-products-block .rs-products-carousel .rs-card::before,
  .rbu-products-block .rs-products-carousel .rs-card::after{
    content:none!important;
    display:none!important;
    box-shadow:none!important;
  }

  .rs-products-carousel .rs-card__img,
  .rs-products-carousel .rs-card__body,
  .rbu-products-block .rs-products-carousel .rs-card__img,
  .rbu-products-block .rs-products-carousel .rs-card__body{
    box-shadow:none!important;
  }

  /* Less extra room around the card so no shadow "tail" remains */
  .rs-products-carousel .rs-grid,
  .rbu-products-block .rs-products-carousel .rs-grid{
    padding:4px 2px 8px!important;
  }
}

@media (max-width:390px){
  .rs-products-carousel .rs-card__img,
  .rbu-products-block .rs-products-carousel .rs-card__img{
    height:285px!important;
    min-height:285px!important;
    padding:18px 14px!important;
  }

  .rs-products-carousel .rs-card__img img,
  .rbu-products-block .rs-products-carousel .rs-card__img img{
    max-width:90%!important;
    max-height:249px!important;
  }

  .rs-products-carousel .rs-more,
  .rbu-products-block .rs-products-carousel .rs-more{
    font-size:17px!important;
  }
}


/* =========================================================
   Ratinger Shop 0.6.5 — mobile compact card + detail modal
   ========================================================= */

@media (max-width:560px){

  /* Slightly move the image area lower, not higher */
  .rs-products-carousel .rs-card__img,
  .rbu-products-block .rs-products-carousel .rs-card__img{
    height:315px!important;
    min-height:315px!important;
    padding:38px 14px 10px!important;
  }

  .rs-products-carousel .rs-card__img img,
  .rbu-products-block .rs-products-carousel .rs-card__img img{
    max-width:92%!important;
    max-height:267px!important;
  }

  /* Pull all product text upward and make it denser */
  .rs-products-carousel .rs-card__body,
  .rbu-products-block .rs-products-carousel .rs-card__body{
    gap:2px 10px!important;
    padding:4px 16px 12px!important;
  }

  .rs-products-carousel .rs-card h3,
  .rbu-products-block .rs-products-carousel .rs-card h3{
    font-size:28px!important;
    line-height:1.06!important;
    margin:0 0 2px!important;
  }

  .rs-products-carousel .rs-excerpt,
  .rbu-products-block .rs-products-carousel .rs-excerpt{
    font-size:20px!important;
    line-height:1.12!important;
    margin:0 0 2px!important;
  }

  .rs-products-carousel .rs-volume,
  .rbu-products-block .rs-products-carousel .rs-volume{
    margin:0!important;
  }

  .rs-products-carousel .rs-price,
  .rbu-products-block .rs-products-carousel .rs-price{
    margin:0!important;
  }

  .rs-products-carousel .rs-card__actions,
  .rbu-products-block .rs-products-carousel .rs-card__actions{
    margin:3px 0 0!important;
  }

  .rs-products-carousel .rs-more,
  .rbu-products-block .rs-products-carousel .rs-more{
    font-size:16px!important;
    line-height:1!important;
    padding:8px 7px!important;
  }

  /* Last slide: point the hint hand back to the left */
  .rs-products-carousel.is-last .rs-mobile-carousel-hand{
    transform:scaleX(-1);
    animation:none!important;
  }

  @keyframes rsSwipeHintBack{
    0%,100%{transform:scaleX(-1) translateX(0)}
    45%{transform:scaleX(-1) translateX(9px)}
    70%{transform:scaleX(-1) translateX(4px)}
  }
}

/* =========================================================
   MOBILE PRODUCT DETAIL MODAL
   ========================================================= */

@media (max-width:560px){

  /* Remove grey framing / excessive outer padding */
  .rs-modal,
  .rs-product-modal,
  .rs-quickview{
    padding:8px!important;
  }

  .rs-modal__dialog,
  .rs-product-modal__dialog,
  .rs-quickview__dialog,
  .rs-modal__content,
  .rs-product-modal__content,
  .rs-quickview__content{
    width:calc(100vw - 16px)!important;
    max-width:none!important;
    margin:0 auto!important;
    padding:14px 10px 20px!important;
    border:none!important;
    box-shadow:none!important;
    border-radius:24px!important;
    background:#fff!important;
  }

  /* Gallery: make main photo much larger */
  .rs-gallery,
  .rs-product-gallery,
  .rs-modal-gallery{
    margin:0!important;
    padding:0!important;
    border:none!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .rs-gallery-main,
  .rs-product-gallery__main,
  .rs-modal-gallery__main{
    width:100%!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    border:none!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  .rs-gallery-main img,
  .rs-product-gallery__main img,
  .rs-modal-gallery__main img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:460px!important;
    object-fit:contain!important;
    margin:0 auto!important;
  }

  /* thumbnails closer to main image */
  .rs-gallery-thumbs,
  .rs-product-gallery__thumbs,
  .rs-modal-gallery__thumbs{
    gap:8px!important;
    margin:10px 0 16px!important;
    padding:0!important;
  }

  /* Product detail typography */
  .rs-modal h2,
  .rs-modal h3,
  .rs-product-modal h2,
  .rs-product-modal h3,
  .rs-quickview h2,
  .rs-quickview h3{
    font-size:28px!important;
    line-height:1.08!important;
    margin:8px 0 4px!important;
  }

  .rs-modal .rs-excerpt,
  .rs-product-modal .rs-excerpt,
  .rs-quickview .rs-excerpt,
  .rs-modal .rs-short-description,
  .rs-product-modal .rs-short-description{
    font-size:20px!important;
    line-height:1.25!important;
    margin:0 0 10px!important;
  }

  .rs-modal p,
  .rs-product-modal p,
  .rs-quickview p,
  .rs-modal .rs-description,
  .rs-product-modal .rs-description{
    font-size:18px!important;
    line-height:1.45!important;
  }

  .rs-modal .rs-volume,
  .rs-product-modal .rs-volume,
  .rs-quickview .rs-volume{
    font-size:18px!important;
  }

  .rs-modal .rs-price [data-price],
  .rs-product-modal .rs-price [data-price],
  .rs-quickview .rs-price [data-price]{
    font-size:46px!important;
  }

  .rs-modal .rs-price small,
  .rs-product-modal .rs-price small,
  .rs-quickview .rs-price small{
    font-size:18px!important;
  }
}


/* =========================================================
   Ratinger Shop 0.6.6
   Exact mobile spacing + real rs-dialog selectors
   ========================================================= */

@media (max-width:560px){

  /* ---------- PRODUCT CARD ---------- */

  .rs-products-carousel .rs-card__img,
  .rbu-products-block .rs-products-carousel .rs-card__img{
    height:300px!important;
    min-height:300px!important;
    padding:20px 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .rs-products-carousel .rs-card__img img,
  .rbu-products-block .rs-products-carousel .rs-card__img img{
    width:auto!important;
    height:auto!important;
    max-width:94%!important;
    max-height:260px!important;
    object-fit:contain!important;
  }

  .rs-products-carousel .rs-card__body,
  .rbu-products-block .rs-products-carousel .rs-card__body{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "title title"
      "excerpt excerpt"
      "volume price"
      "variable variable"
      "actions actions"!important;

    gap:0 10px!important;
    padding:0 16px 16px!important;
  }

  /* 20px from image to title */
  .rs-products-carousel .rs-card h3,
  .rbu-products-block .rs-products-carousel .rs-card h3{
    grid-area:title!important;
    margin:20px 0 0!important;
    font-size:28px!important;
    line-height:1.08!important;
    font-weight:700!important;
  }

  /* 20px between title and subtitle */
  .rs-products-carousel .rs-excerpt,
  .rbu-products-block .rs-products-carousel .rs-excerpt{
    grid-area:excerpt!important;
    margin:20px 0 0!important;
    font-size:20px!important;
    line-height:1.2!important;
  }

  /* volume + price one horizontal row, 30px below subtitle */
  .rs-products-carousel .rs-volume,
  .rbu-products-block .rs-products-carousel .rs-volume{
    grid-area:volume!important;
    justify-self:start!important;
    align-self:center!important;
    margin:30px 0 0!important;
    padding:7px 12px!important;
    font-size:16px!important;
    line-height:1!important;
  }

  .rs-products-carousel .rs-price,
  .rbu-products-block .rs-products-carousel .rs-price{
    grid-area:price!important;
    justify-self:end!important;
    align-self:center!important;
    margin:30px 0 0!important;
    white-space:nowrap!important;
    line-height:1!important;
  }

  .rs-products-carousel .rs-price [data-price],
  .rbu-products-block .rs-products-carousel .rs-price [data-price]{
    font-size:46px!important;
    line-height:.95!important;
  }

  .rs-products-carousel .rs-price small,
  .rbu-products-block .rs-products-carousel .rs-price small{
    font-size:16px!important;
  }

  .rs-products-carousel .rs-variable-controls,
  .rbu-products-block .rs-products-carousel .rs-variable-controls{
    grid-area:variable!important;
    margin:14px 0 0!important;
  }

  /* 20px from volume/price row to buttons */
  .rs-products-carousel .rs-card__actions,
  .rbu-products-block .rs-products-carousel .rs-card__actions{
    grid-area:actions!important;
    margin:20px 0 0!important;
  }

  .rs-products-carousel .rs-more,
  .rbu-products-block .rs-products-carousel .rs-more{
    font-size:16px!important;
    line-height:1!important;
    padding:8px 7px!important;
  }


  /* ---------- PRODUCT DETAIL DIALOG ---------- */

  .rs-dialog{
    width:calc(100vw - 20px)!important;
    max-width:none!important;
    margin:auto!important;
    padding:14px 12px 24px!important;
    border:0!important;
    border-radius:24px!important;
    box-shadow:0 18px 50px rgba(0,0,0,.22)!important;
    background:#fff!important;
  }

  .rs-dialog__close{
    position:sticky!important;
    top:0!important;
    z-index:5!important;
    float:right!important;
    width:42px!important;
    height:42px!important;
    margin:0 0 -42px auto!important;
    border:0!important;
    border-radius:50%!important;
    background:#f3f6f3!important;
    font-size:28px!important;
  }

  .rs-dialog__layout{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .rs-dialog__gallery{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
  }

  /* remove the grey photo frame completely */
  .rs-dialog__main{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    aspect-ratio:1 / 1!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
    object-fit:contain!important;
    object-position:center!important;
  }

  .rs-dialog__thumbs{
    display:flex!important;
    gap:8px!important;
    margin:10px 0 12px!important;
    padding:0!important;
  }

  .rs-thumb{
    width:76px!important;
    height:76px!important;
    padding:3px!important;
    border-radius:12px!important;
  }

  .rs-dialog__info{
    padding:0 4px!important;
  }

  /* Detail title: smaller than previous 28px */
  .rs-dialog__info h3{
    margin:8px 0 8px!important;
    font-size:24px!important;
    line-height:1.12!important;
    font-weight:700!important;
  }

  /* "Гель для прання універсальний" */
  .rs-dialog__subtitle{
    margin:0 0 12px!important;
    font-size:20px!important;
    line-height:1.3!important;
    font-weight:600!important;
  }

  .rs-dialog__volume{
    margin:0 0 14px!important;
    font-size:18px!important;
    line-height:1.35!important;
  }

  /* every normal description text = 18px */
  .rs-dialog__content,
  .rs-dialog__content p,
  .rs-dialog__content li{
    font-size:18px!important;
    line-height:1.48!important;
  }

  .rs-dialog__content p{
    margin:0 0 14px!important;
  }

  .rs-dialog__label{
    font-size:18px!important;
  }

  .rs-dialog__price{
    margin:14px 0 10px!important;
    font-size:46px!important;
    line-height:1!important;
  }

  .rs-dialog__price [data-dialog-price]{
    font-size:46px!important;
    font-weight:800!important;
  }

  .rs-dialog__price small{
    font-size:18px!important;
  }

  .rs-dialog__buy{
    margin-top:16px!important;
  }

  .rs-dialog__buy label,
  .rs-dialog__buy input,
  .rs-dialog__buy .rs-btn{
    font-size:18px!important;
  }
}

@media (max-width:390px){

  .rs-products-carousel .rs-card h3,
  .rbu-products-block .rs-products-carousel .rs-card h3{
    font-size:26px!important;
  }

  .rs-products-carousel .rs-excerpt,
  .rbu-products-block .rs-products-carousel .rs-excerpt{
    font-size:19px!important;
  }

  .rs-dialog{
    width:calc(100vw - 12px)!important;
    padding-left:9px!important;
    padding-right:9px!important;
  }

  .rs-dialog__info h3{
    font-size:23px!important;
  }

  .rs-dialog__subtitle{
    font-size:20px!important;
  }

  .rs-dialog__content,
  .rs-dialog__content p,
  .rs-dialog__content li{
    font-size:18px!important;
  }
}


/* =========================================================
   Ratinger Shop 0.6.7 — MOBILE: TIGHT VERTICAL RHYTHM
   Photos are intentionally untouched.
   ========================================================= */

@media (max-width:560px){

  /* Do NOT change image sizing from 0.6.6. Only tighten content below it. */

  .rs-products-carousel .rs-card__body,
  .rbu-products-block .rs-products-carousel .rs-card__body{
    gap:0 10px!important;
    padding:0 16px 12px!important;
  }

  /* image -> title: minimal */
  .rs-products-carousel .rs-card h3,
  .rbu-products-block .rs-products-carousel .rs-card h3{
    margin:4px 0 0!important;
    font-size:26px!important;
    line-height:1.05!important;
  }

  /* title -> subtitle: minimal */
  .rs-products-carousel .rs-excerpt,
  .rbu-products-block .rs-products-carousel .rs-excerpt{
    margin:5px 0 0!important;
    font-size:20px!important;
    line-height:1.1!important;
  }

  /* subtitle -> volume+price: compact */
  .rs-products-carousel .rs-volume,
  .rbu-products-block .rs-products-carousel .rs-volume{
    margin:8px 0 0!important;
  }

  .rs-products-carousel .rs-price,
  .rbu-products-block .rs-products-carousel .rs-price{
    margin:8px 0 0!important;
  }

  /* variable product extras compact */
  .rs-products-carousel .rs-variable-controls,
  .rbu-products-block .rs-products-carousel .rs-variable-controls{
    margin:6px 0 0!important;
  }

  /* volume+price -> buttons: compact */
  .rs-products-carousel .rs-card__actions,
  .rbu-products-block .rs-products-carousel .rs-card__actions{
    margin:8px 0 0!important;
  }

  .rs-products-carousel .rs-btn,
  .rbu-products-block .rs-products-carousel .rs-btn,
  .rs-products-carousel .rs-more,
  .rbu-products-block .rs-products-carousel .rs-more{
    min-height:50px!important;
  }

  .rs-products-carousel .rs-more,
  .rbu-products-block .rs-products-carousel .rs-more{
    font-size:16px!important;
  }
}

@media (max-width:390px){
  .rs-products-carousel .rs-card h3,
  .rbu-products-block .rs-products-carousel .rs-card h3{
    font-size:25px!important;
  }

  .rs-products-carousel .rs-excerpt,
  .rbu-products-block .rs-products-carousel .rs-excerpt{
    font-size:19px!important;
  }
}


/* =========================================================
   Ratinger Shop 0.6.8 — MOBILE CHECKOUT
   Order: summary -> contacts/delivery -> payment -> submit
   ========================================================= */

@media (max-width:560px){

  .rs-checkout.rs-checkout--v3{
    width:calc(100% - 20px)!important;
    margin:26px auto 44px!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
  }

  /* Let the children of the side column participate directly in
     the mobile one-column checkout flow. */
  .rs-checkout--v3 .rs-checkout__side{
    display:contents!important;
  }

  /* 1. Order summary first */
  .rs-checkout--v3 .rs-checkout__side .rs-checkout-box:first-of-type{
    order:1!important;
  }

  /* 2. Contact data + delivery */
  .rs-checkout--v3 .rs-checkout__form{
    order:2!important;
  }

  /* 3. Payment */
  .rs-checkout--v3 .rs-checkout__side .rs-checkout-box:nth-of-type(2){
    order:3!important;
  }

  /* 4. Submit */
  .rs-checkout--v3 .rs-checkout-submit{
    order:4!important;
  }

  .rs-checkout--v3 #rs-order-message{
    order:5!important;
  }

  /* Remove the large outer card around the entire form */
  .rs-checkout--v3 .rs-checkout__form{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .rs-checkout--v3 .rs-form-grid{
    width:100%!important;
    gap:14px!important;
    margin:0!important;
  }

  .rs-checkout--v3 .rs-form-grid > label,
  .rs-checkout--v3 .rs-checkout-section{
    width:100%!important;
    max-width:none!important;
  }

  .rs-checkout--v3 .rs-form-grid input,
  .rs-checkout--v3 .rs-form-grid select,
  .rs-checkout--v3 .rs-form-grid textarea{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }

  /* Summary/payment cards may stay as separate compact cards */
  .rs-checkout--v3 .rs-checkout-box{
    width:100%!important;
    margin:0!important;
    padding:18px 16px!important;
    box-sizing:border-box!important;
    border-radius:16px!important;
  }

  .rs-checkout--v3 .rs-checkout__form h2{
    margin:0 0 16px!important;
  }

  .rs-checkout--v3 .rs-checkout-section{
    margin-top:4px!important;
    padding-top:4px!important;
  }

  .rs-checkout--v3 .rs-checkout-submit{
    width:100%!important;
    margin:0!important;
  }
}


/* =========================================================
   Ratinger Shop 0.6.11 — compact manual delivery fields
   No Nova Poshta API is required for checkout.
   ========================================================= */

.rs-delivery-inline{
  display:grid;
  grid-template-columns:minmax(0,1fr) 120px;
  gap:10px;
}

.rs-house-field{
  min-width:0;
}

.rs-field-caption{
  display:block;
  margin-bottom:7px;
  font-weight:600;
}

.rs-np-type{
  margin:2px 0 4px;
}

.rs-np-type__options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.rs-mini-choice{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:9px 11px;
  border:1px solid #ccd6d0;
  border-radius:11px;
  background:#fff;
  cursor:pointer;
}

.rs-mini-choice input{
  width:auto!important;
  margin:0!important;
}

.rs-mini-choice span{
  font-weight:650;
}

.rs-mini-choice.is-selected{
  border-color:#0ea678;
  background:#f5fbf8;
  box-shadow:0 0 0 1px #0ea678 inset;
}

@media(max-width:560px){
  .rs-delivery-inline{
    grid-template-columns:minmax(0,1fr) 96px;
  }

  .rs-delivery-fields{
    gap:9px!important;
    margin-top:10px!important;
  }

  .rs-delivery-fields input{
    margin-top:5px!important;
  }

  .rs-np-type__options{
    grid-template-columns:1fr 1fr;
  }

  .rs-mini-choice{
    min-height:42px;
    padding:8px 9px;
  }
}


/* =========================================================
   Ratinger Shop 0.6.12 — delivery field visibility guard
   ========================================================= */

.rs-delivery-fields[hidden],
[data-delivery-fields][hidden],
[data-np-field][hidden]{
  display:none!important;
}

@media(max-width:560px){
  .rs-delivery-fields[hidden],
  [data-delivery-fields][hidden],
  [data-np-field][hidden]{
    display:none!important;
  }

  .rs-delivery-fields--odesa{
    margin-top:10px!important;
  }

  .rs-delivery-fields--odesa .rs-delivery-inline{
    grid-template-columns:minmax(0,1fr) 96px!important;
  }
}


/* =========================================================
   Ratinger Shop 0.6.14 — MOBILE CHECKOUT ALIGNMENT FIX
   Only mobile layout is changed.
   ========================================================= */

@media (max-width:560px){

  /* Delivery cards: radio on the left, text immediately to the right */
  .rs-checkout--v3 .rs-choice-card{
    display:grid!important;
    grid-template-columns:26px minmax(0,1fr)!important;
    align-items:start!important;
    column-gap:12px!important;
    row-gap:0!important;
    padding:14px 16px!important;
    text-align:left!important;
  }

  .rs-checkout--v3 .rs-choice-card > input[type="radio"]{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    align-self:start!important;
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    margin:2px 0 0!important;
    padding:0!important;
  }

  .rs-checkout--v3 .rs-choice-card > span{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    text-align:left!important;
  }

  .rs-checkout--v3 .rs-choice-card b{
    margin:0!important;
    font-size:18px!important;
    line-height:1.25!important;
    text-align:left!important;
  }

  .rs-checkout--v3 .rs-choice-card small{
    margin-top:4px!important;
    font-size:16px!important;
    line-height:1.35!important;
    text-align:left!important;
  }

  /* Account / marketing checkboxes: checkbox left, text right */
  .rs-checkout--v3 .rs-form-grid > label.rs-check{
    display:grid!important;
    grid-template-columns:26px minmax(0,1fr)!important;
    align-items:start!important;
    column-gap:12px!important;
    width:100%!important;
    margin:0!important;
    padding:4px 0!important;
    text-align:left!important;
    line-height:1.35!important;
  }

  .rs-checkout--v3 .rs-check > input[type="checkbox"]{
    grid-column:1!important;
    justify-self:start!important;
    align-self:start!important;
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    margin:2px 0 0!important;
    padding:0!important;
  }

  .rs-checkout--v3 .rs-check{
    font-size:17px!important;
    font-weight:650!important;
  }

  /* Payment cards keep the good layout from the screenshot */
  .rs-checkout--v3 .rs-payment-card{
    display:grid!important;
    grid-template-columns:26px minmax(0,1fr)!important;
    align-items:start!important;
    column-gap:12px!important;
    padding:14px 16px!important;
    text-align:left!important;
  }

  .rs-checkout--v3 .rs-payment-card > input[type="radio"]{
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    margin:2px 0 0!important;
  }

  .rs-checkout--v3 .rs-payment-card > span{
    min-width:0!important;
    text-align:left!important;
  }
}


/* =========================================================
   Ratinger Shop 0.6.16 — clear online payment presentation
   ========================================================= */

.rs-payment-card--online .rs-payment-methods{
  display:block;
  margin-top:5px;
  font-size:15px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:.01em;
  color:#18221d;
}

.rs-payment-card--online small{
  margin-top:5px!important;
}

.rs-checkout-submit.is-online-payment{
  font-weight:800;
}

@media(max-width:560px){
  .rs-payment-card--online .rs-payment-methods{
    font-size:15px;
    line-height:1.35;
  }
}


/* =========================================================
   Ratinger Shop 0.6.17 — free Odessa delivery from 1000 UAH
   ========================================================= */

.rs-free-delivery-note{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid rgba(14,166,120,.28);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(236,252,246,.96),rgba(255,249,218,.92));
  box-shadow:0 8px 24px rgba(20,70,50,.06);
}

.rs-free-delivery-note--catalog{
  width:max-content;
  max-width:100%;
  margin:0 auto 18px;
  padding:10px 14px;
}

.rs-free-delivery-note__icon{
  flex:0 0 auto;
  font-size:22px;
  line-height:1;
}

.rs-free-delivery-note b,
.rs-free-delivery-note small{
  display:block;
}

.rs-free-delivery-note b{
  font-size:16px;
  line-height:1.25;
  color:#13221b;
}

.rs-free-delivery-note small{
  margin-top:2px;
  font-size:14px;
  line-height:1.25;
  color:#66736c;
}

.rs-free-delivery-status{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:12px;
  padding:10px 12px;
  border-radius:12px;
  font-size:14px;
  line-height:1.35;
  font-weight:750;
  transition:.2s ease;
}

.rs-free-delivery-status.is-pending{
  border:1px solid rgba(223,174,23,.40);
  background:#fff8dc;
  color:#725900;
}

.rs-free-delivery-status.is-available{
  border:1px solid rgba(14,166,120,.34);
  background:#eefbf6;
  color:#087c5a;
}

.rs-free-delivery-status__icon{
  flex:0 0 auto;
  font-size:18px;
  line-height:1;
}

[data-free-delivery-option][hidden]{
  display:none!important;
}

@media(max-width:560px){
  .rs-free-delivery-note--catalog{
    width:calc(100% - 20px);
    margin:0 auto 14px;
    padding:10px 12px;
  }

  .rs-free-delivery-note b{
    font-size:15px;
  }

  .rs-free-delivery-note small{
    font-size:13px;
  }

  .rs-free-delivery-status{
    margin-top:10px;
    padding:10px 11px;
    font-size:14px;
  }
}


/* =========================================================
   Ratinger Shop 0.6.21 — animated swipe hint test
   ========================================================= */
@media (max-width:560px){
  .rs-mobile-carousel-hint{
    color:#078c66!important;
    font-weight:800!important;
    opacity:1!important;
  }
  .rs-mobile-carousel-hand,
  .rs-products-carousel.is-used .rs-mobile-carousel-hand,
  .rs-products-carousel.is-last .rs-mobile-carousel-hand{
    animation:none!important;
    will-change:auto!important;
  }
  .rs-products-carousel.is-used .rs-mobile-carousel-hint{
    opacity:1!important;
  }
  .rs-products-carousel.is-last .rs-mobile-carousel-hand{
    transform:scaleX(-1)!important;
  }
}


/* =========================================================
   0.6.20 — MOBILE TRUE LAZY PRODUCTS + CLEAN DETAIL IMAGE
   ========================================================= */

/* Transparent product photos in detail view must not sit on a grey tile. */
.rs-dialog__gallery{
  background:transparent!important;
}
.rs-dialog__main{
  background:transparent!important;
  padding:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

@media(max-width:760px){
  /* Keep the section stable while real cards are still outside the DOM. */
  .rs-grid.rs-grid--lazy{
    display:block!important;
    min-height:430px!important;
    overflow:hidden!important;
  }

  .rs-lazy-products-placeholder{
    min-height:430px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    box-sizing:border-box;
    color:#118d66;
    font-size:14px;
    font-weight:700;
    text-align:center;
  }

  /* Clear green swipe hint + animated hand (0.6.21 test). */
  .rs-mobile-carousel-hint,
  .rbu-products-block .rs-mobile-carousel-hint{
    color:#0b9569!important;
    font-weight:800!important;
    opacity:1!important;
  }

  .rs-mobile-carousel-hand,
  .rbu-products-block .rs-mobile-carousel-hand{
    animation:rsSwipeHintStrong 1.25s ease-in-out infinite!important;
    transition:none!important;
    will-change:transform;
  }

  /* After the visitor has interacted, keep the cue but slow it down. */
  .rs-products-carousel.is-used .rs-mobile-carousel-hand{
    animation-duration:2.2s!important;
  }

  /* On the final card, point and animate the hand back to the left. */
  .rs-products-carousel.is-last .rs-mobile-carousel-hand{
    animation:rsSwipeHintBack 1.25s ease-in-out infinite!important;
  }
}

/* Respect the visitor's reduced-motion preference. */
@media (prefers-reduced-motion:reduce){
  .rs-mobile-carousel-hand,
  .rbu-products-block .rs-mobile-carousel-hand,
  .rs-products-carousel.is-last .rs-mobile-carousel-hand{
    animation:none!important;
    will-change:auto!important;
  }
}
