/* Author styles outrank the browser's default [hidden] rule when a modal is grid. */
[hidden] { display: none !important; }

/* Keep the hero copy wide and remove the duplicate painted water strip. */
.hero-stream { display: none !important; }
.hero-copy { width: min(590px, calc(100% - 52px)); max-width: none; margin-left: max(26px, calc((100vw - 1180px) / 2)); padding: 104px 0 70px; }
@media (max-width: 880px) { .hero-copy { width: auto; margin-left: 0; padding: 88px 20px 54px; } }

/* MATCH CARE is one continuous illustrated scene, never a split green panel. */
.care {
  position: relative;
  display: block;
  min-height: 640px;
  overflow: hidden;
  background: #10241f;
}
.care-art {
  position: absolute;
  inset: 0;
  min-height: 0;
  z-index: 0;
}
.care-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5,20,17,.20) 0%, rgba(5,20,17,.39) 43%, rgba(5,20,17,.78) 100%);
}
.care-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
}
.care-copy {
  position: relative;
  z-index: 1;
  width: min(560px, calc(100% - 56px));
  margin-left: auto;
  margin-right: max(28px, calc((100vw - 1180px) / 2));
  padding: 66px 54px 58px;
  background: rgba(11,35,28,.72);
  border: 1px solid rgba(255,218,225,.16);
  border-radius: 28px;
  box-shadow: 0 24px 70px rgba(0,0,0,.26);
  backdrop-filter: blur(12px);
}
.care h2 { font-size: clamp(45px, 4.6vw, 66px); }
@media (max-width: 880px) {
  .care { min-height: 610px; display: flex; align-items: end; }
  .care-art img { object-position: center; }
  .care-art::after { background: linear-gradient(0deg, rgba(5,20,17,.90), rgba(5,20,17,.08) 78%); }
  .care-copy { width: calc(100% - 28px); margin: 0 14px 14px; padding: 34px 25px 30px; border-radius: 23px; }
  .care-list { gap: 15px; margin-top: 28px; }
}

/* Persistent direct line to MATCH CARE. */
.support-fab {
  position: fixed;
  z-index: 30;
  right: 25px;
  bottom: 25px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 11px 13px 11px 10px;
  border: 1px solid rgba(255,221,231,.36);
  border-radius: 999px;
  background: rgba(20,43,34,.94);
  color: #fff8f2;
  box-shadow: 0 12px 34px rgba(11,28,22,.28);
  backdrop-filter: blur(12px);
  font-size: 12px;
  font-weight: 900;
  transition: transform .2s ease, background .2s ease;
}
.support-fab span {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  background: #f3a5bb;
  color: #183128;
  font: 17px/1 Georgia, serif;
}
.support-fab i { color: #ffb7ca; font-size: 14px; font-style: normal; }
.support-fab:hover { transform: translateY(-3px); background: #203c30; }

/* Temporary partner placement — bounded separately so it can be removed by marker. */
.freekassa-banner {
  display: flex;
  justify-content: center;
  padding: 28px 20px;
  background: #f5eee6;
}
.freekassa-banner a {
  display: block;
  max-width: min(100%, 468px);
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 14px 32px rgba(38, 26, 22, .14);
  transition: transform .2s ease, box-shadow .2s ease;
}
.freekassa-banner a:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(38, 26, 22, .2);
}
.freekassa-banner img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 600px) {
  .support-fab { right: 14px; bottom: 15px; padding: 9px 12px 9px 8px; }
  .support-fab b { font-size: 11px; }
  .freekassa-banner { padding: 20px 14px; }
}

/* Footer information panel: a compact, readable home for store policies. */
footer { flex-wrap: wrap; }
.footer-about { appearance: none; border: 0; padding: 0; background: transparent; color: #a4435e; font: inherit; font-weight: 850; }
.footer-about span { margin-left: 4px; }
.footer-about:hover { color: #743147; }
.footer-documents { color: #a4435e; font-size: 12px; font-weight: 850; text-decoration: none; }
.footer-documents:hover { color: #743147; text-decoration: underline; }
.about-shell { position: relative; width: min(760px, 100%); max-height: min(760px, calc(100dvh - 40px)); overflow: auto; padding: 46px; border-radius: 28px; background: #f7f1e9; box-shadow: 0 25px 80px rgba(0,0,0,.3); }
.about-shell h2 { margin: 0; color: #172820; font: 700 clamp(43px, 6vw, 64px)/.96 Georgia, serif; letter-spacing: -.065em; }
.about-intro { max-width: 580px; margin: 16px 0 30px; color: #75635c; font-size: 13px; line-height: 1.6; }
.about-sections { display: grid; gap: 11px; }
.about-sections article { display: grid; grid-template-columns: 34px 1fr; gap: 13px; padding: 18px 17px; border: 1px solid rgba(28,44,35,.13); border-radius: 17px; background: rgba(255,253,249,.72); }
.about-sections article > span { color: #bd4d6b; font: 18px/1 Georgia, serif; }
.about-sections h3 { margin: 0 0 7px; color: #20362c; font-size: 14px; }
.about-sections p { margin: 0; color: #75635c; font-size: 12px; line-height: 1.58; }
.about-support { display: inline-flex; gap: 8px; margin-top: 12px; color: #a4435e; font-size: 12px; font-weight: 900; }
.about-support b { font-size: 14px; }
@media (max-width: 600px) { .about-modal { padding: 12px; } .about-shell { max-height: calc(100dvh - 24px); padding: 35px 20px 24px; border-radius: 24px; } .about-shell h2 { font-size: 46px; } .about-sections article { padding: 15px 13px; } }

/* Compact currency and language controls: visual prices may change, but every
   checkout is still securely created from the server-side USD catalogue. */
.topbar { grid-template-columns: auto minmax(150px, 285px) 1fr auto auto; }
.shop-preferences { display: inline-flex; align-items: center; gap: 5px; }
.shop-preferences select { height: 31px; appearance: none; -webkit-appearance: none; padding: 0 23px 0 9px; border: 1px solid rgba(28,47,38,.16); border-radius: 999px; background: rgba(255,252,247,.84) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4 3 3 3-3' fill='none' stroke='%2375655e' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 7px center/12px no-repeat; color:#4c5d53; font-size:10px; font-weight:900; outline:none; cursor:pointer; }
.shop-preferences select:focus { border-color:#a4435e; box-shadow:0 0 0 3px rgba(189,77,107,.13); }
.shop-preferences label:last-of-type select { width:53px; }
.fx-status { display:grid; place-items:center; width:17px; height:17px; border-radius:50%; background:#eeb2c2; color:#5d2032; font-size:12px; line-height:1; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.fx-checkout-note { margin:8px 0 4px; color:#8a786f; font-size:10px; line-height:1.4; }
@media (max-width: 1050px) { .topbar { gap:13px; grid-template-columns:auto minmax(120px,210px) 1fr auto auto; } .topbar nav { gap:13px; } .shop-preferences select { padding-left:8px; padding-right:20px; font-size:9px; } }
@media (max-width: 880px) { .topbar { grid-template-columns:auto 1fr auto auto; } .topbar nav { display:none; } .shop-preferences { gap:3px; } .shop-preferences select { height:29px; } .shop-preferences label:first-child select { width:63px; } .fx-status { display:none; } }
@media (max-width: 470px) { .shop-preferences label:first-child select { width:57px; padding-left:6px; } .shop-preferences label:last-of-type select { width:47px; padding-left:6px; } }

/* Site theme switcher. It is deliberately independent from the Telegram Mini
   App preference so a visitor can choose a comfortable reading mode here. */
.topbar { grid-template-columns:auto minmax(150px,285px) 1fr auto auto auto; }
.site-theme-toggle{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid rgba(28,47,38,.16);border-radius:50%;background:rgba(255,252,247,.84);color:#405148;font-size:16px;line-height:1;transition:transform .2s ease,background .2s ease,color .2s ease;}
.site-theme-toggle:hover{transform:translateY(-1px);border-color:#a4435e;color:#a4435e}
@media (max-width:1050px){.topbar{grid-template-columns:auto minmax(120px,210px) 1fr auto auto auto}}
@media (max-width:880px){.topbar{grid-template-columns:auto 1fr auto auto auto}.site-theme-toggle{width:30px;height:30px;font-size:15px}}
@media (max-width:470px){.site-theme-toggle{width:28px;height:28px}.topbar{gap:7px}}

html[data-theme="dark"]{--ink:#eef6ef;--paper:#0c1712;--rose:#f28ca9;--deep:#07130e;--line:rgba(215,238,219,.15);color-scheme:dark}
html[data-theme="dark"] body{background:#0c1712;color:#eef6ef}
html[data-theme="dark"] .ambient{background:radial-gradient(circle at 8% 8%,rgba(224,112,152,.16),transparent 24%),radial-gradient(circle at 90% 50%,rgba(62,174,137,.12),transparent 24%)}
html[data-theme="dark"] .topbar{border-color:rgba(215,238,219,.11);background:rgba(9,20,15,.9)}
html[data-theme="dark"] .brand{color:#f4faf5}
html[data-theme="dark"] .brand span{background:#f0d7bb;color:#163126}
html[data-theme="dark"] .search{border-color:rgba(215,238,219,.16);background:rgba(22,38,30,.78);color:#d3e0d5}
html[data-theme="dark"] .search input{color:#f4faf5}html[data-theme="dark"] .search input::placeholder{color:#91a499}
html[data-theme="dark"] .topbar nav{color:#b9c9bc}html[data-theme="dark"] .topbar nav a:hover{color:#f4a7bb}
html[data-theme="dark"] .shop-preferences select,html[data-theme="dark"] .site-theme-toggle{border-color:#385146;background-color:#14241c;color:#eaf3eb}
html[data-theme="dark"] .shop-preferences select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4 3 3 3-3' fill='none' stroke='%23dce9de' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
html[data-theme="dark"] .site-theme-toggle:hover{border-color:#f0d7bb;background:#1c3127;color:#f0d7bb}
html[data-theme="dark"] .fx-status{background:#3a2930;color:#ffbfd0}
html[data-theme="dark"] .cart-trigger{background:#f0d7bb;color:#153126}html[data-theme="dark"] .cart-trigger b{background:#ad3f5d;color:#fff}
html[data-theme="dark"] .catalogue{background:#0c1712}
html[data-theme="dark"] .catalog-head>p,html[data-theme="dark"] .empty{color:#aebfb1}
html[data-theme="dark"] .filters button{border-color:#375046;background:#14241c;color:#c6d5c9}
html[data-theme="dark"] .filters button:hover,html[data-theme="dark"] .filters button.is-active{border-color:#f0d7bb;background:#f0d7bb;color:#153126}
html[data-theme="dark"] .product-card{border-color:rgba(215,238,219,.14);background:#14241c;box-shadow:0 14px 28px rgba(0,0,0,.3)}
html[data-theme="dark"] .product-art{background:#0a1510}html[data-theme="dark"] .product-art span{background:rgba(238,247,239,.92);color:#173126}
html[data-theme="dark"] .product-info strong{color:#f2f8f3}html[data-theme="dark"] .product-info small{color:#afc0b2}html[data-theme="dark"] .product-info em{color:#f4a6bd}
html[data-theme="dark"] footer{border-color:rgba(215,238,219,.12);color:#afc0b2;background:#09130e}html[data-theme="dark"] footer>a:last-child{color:#f4a6bd}
html[data-theme="dark"] .support-fab{border-color:rgba(240,215,187,.33);background:#14241c;color:#f4f8f4;box-shadow:0 13px 30px rgba(0,0,0,.32)}
html[data-theme="dark"] .cart-drawer,html[data-theme="dark"] .modal-shell,html[data-theme="dark"] .checkout-shell{background:#101e17;color:#edf7ee}
html[data-theme="dark"] .drawer-head,html[data-theme="dark"] .cart-footer{border-color:rgba(215,238,219,.14)}
html[data-theme="dark"] .icon-close{border-color:#3b5247;color:#e7f2e9}html[data-theme="dark"] .cart-item span,html[data-theme="dark"] .cart-empty,html[data-theme="dark"] .checkout-note,html[data-theme="dark"] .payment-route small{color:#b1c2b4}
html[data-theme="dark"] .cart-footer strong,html[data-theme="dark"] .modal-content h2,html[data-theme="dark"] .checkout-shell h2{color:#f3faf4}
html[data-theme="dark"] .modal-description,html[data-theme="dark"] .plan-option small,html[data-theme="dark"] .modal-bottom>div>span{color:#b7c7ba}
html[data-theme="dark"] .plan-option,html[data-theme="dark"] .payment-route{border-color:#385045;background:#16271f;color:#edf7ee}
html[data-theme="dark"] .plan-option.is-selected{border-color:#e48da6;background:#202d25;box-shadow:inset 0 0 0 1px rgba(244,166,189,.18)}
html[data-theme="dark"] .checkout-button,html[data-theme="dark"] .add-button{background:#f0d7bb;color:#153126}
html[data-theme="dark"] .fx-checkout-note{color:#b5c6b8}
