/* Servisni cast: to, co /p/site.css neumi. Tokeny (barvy, pisma) jsou v /p/site.css. */
/* Thrive vypisuje v hlavicce vlastni pismo inline, proto important. */
body.sv, body.sv h1, body.sv h2, body.sv h3, body.sv p, body.sv a, body.sv li, body.sv label, body.sv span, body.sv input, body.sv button, body.sv th, body.sv td, body.sv select, body.sv textarea { font-family: var(--fh) !important; }
body.sv a { color: inherit; }
body.sv .button, body.sv #place_order { color: #fff; }
.sv-main { padding: clamp(32px, 5vw, 64px) var(--gut); }
.sv-h1 { font-weight: 700; font-size: clamp(32px, 3.6vw, 52px); line-height: 1.06; letter-spacing: -.022em; margin-bottom: clamp(20px, 3vw, 36px); }
.sv-sub { font-size: clamp(23px, 2.2vw, 30px); letter-spacing: -.015em; }
.sv-sub:not(:first-child) { margin-top: clamp(32px, 4vw, 52px); }
.sv-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.sv-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); padding: 20px; min-height: 180px; text-decoration: none; color: inherit; }
a.sv-card:hover { border-color: var(--ink); }
.sv-card h3 { font-size: 22px; line-height: 1.14; letter-spacing: -.012em; font-weight: 700; }
.sv-card h3 a { text-decoration: none; }
.sv-card h3 a:hover { text-decoration: underline; }
.sv-card p { margin-top: 8px; font-size: 16px; line-height: 1.38; color: var(--muted); flex: 1; }
.sv-card p.sv-cena { flex: none; color: var(--ink); }
.sv-skica { display: flex; align-items: center; justify-content: center; height: 160px; margin-bottom: 14px; }
.sv-skica img { max-height: 150px; width: auto; }
.sv-go { margin-top: 14px; font-weight: 700; }
.sv-bar { display: block; height: 4px; background: var(--line); margin-top: 12px; }
.sv-bar i { display: block; height: 4px; background: var(--red); }
.sv-odkazy { display: flex; gap: 16px; margin-top: 14px; font-weight: 700; }
.sv-cena { font-size: 18px; }
.sv-produkt .act { margin-top: 18px; }
.sv-prihlaseni { max-width: 460px; margin-left: max(0px, calc((100% - 1120px) / 2)); margin-right: auto; }
.sv-ucet { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: clamp(28px, 4vw, 44px); padding-top: 18px; border-top: 1px solid var(--line); font-size: 16px; }
.sv form .form-row { margin: 0 0 14px; }
.sv form .form-row label { display: block; margin-bottom: 6px; font-size: 15.5px; font-weight: 600; }
.sv form .input-text, .sv form select, .sv .select2-container .select2-selection--single { width: 100%; min-height: 46px; padding: 11px 13px; font: 400 17px/1.2 var(--fh); border: 1px solid #8a969d; border-radius: 0; background: #fff; color: var(--ink); }
.sv form .input-text:focus, .sv form select:focus { outline: 3px solid var(--red); outline-offset: 1px; }
.sv .button, .sv button.button, .sv #place_order { display: inline-block; padding: 15px 26px; background: var(--red); color: #fff; font: 700 17px/1.2 var(--fh); border: 0; border-radius: 0; cursor: pointer; text-decoration: none; }
.sv .button:hover, .sv #place_order:hover { background: #a51812; }
.sv .woocommerce-message, .sv .woocommerce-info, .sv .woocommerce-error { padding: 14px 16px; background: var(--cool); border: 0; border-left: 3px solid var(--ink); list-style: none; margin: 0 0 18px; }
.sv .woocommerce-error { border-left-color: var(--red); }
.sv .woocommerce-message::before, .sv .woocommerce-info::before, .sv .woocommerce-error::before { display: none; }
.sv table.shop_table { width: 100%; border-collapse: collapse; border: 0; }
.sv table.shop_table th, .sv table.shop_table td { padding: 10px 8px 10px 0; border: 0; border-top: 1px solid var(--line); text-align: left; font-size: 17px; }
.sv #order_review_heading, .sv #customer_details h3 { font-size: 24px; letter-spacing: -.012em; margin: 0 0 14px; }
.sv .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 6px 20px; margin-bottom: 22px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.sv .woocommerce-MyAccount-navigation a { text-decoration: none; font-weight: 600; }
.sv .woocommerce-MyAccount-navigation .is-active a { text-decoration: underline; }
.sv .woocommerce-MyAccount-navigation, .sv .woocommerce-MyAccount-content { float: none; width: 100%; }
@media (min-width: 901px) {
  .sv-pokladna form.checkout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 0 clamp(28px, 5vw, 72px); align-items: start; }
  .sv-pokladna #customer_details { grid-column: 1; grid-row: 1 / span 3; float: none; width: 100%; }
  .sv-pokladna #customer_details .col-1, .sv-pokladna #customer_details .col-2 { float: none; width: 100%; }
  .sv-pokladna #order_review_heading, .sv-pokladna #order_review { grid-column: 2; float: none; width: 100%; }
  .sv-pokladna #order_review { background: var(--cool); padding: clamp(18px, 2.4vw, 28px); }
}
@media (max-width: 900px) { .sv-cards { grid-template-columns: 1fr; } .sv-card { min-height: 0; } }

/* Clanky a starsi stranky: text v citelne sirce, obrazky se vejdou */
.sv-text .w { max-width: 760px; }
.sv-text p, .sv-text ul, .sv-text ol, .sv-text blockquote, .sv-text table { margin: 0 0 1em; }
.sv-text h2, .sv-text h3, .sv-text h4 { margin: 1.4em 0 .5em; font-weight: 700; line-height: 1.2; }
.sv-text h2 { font-size: 28px; } .sv-text h3 { font-size: 22px; } .sv-text h4 { font-size: 19px; }
.sv-text ul, .sv-text ol { padding-left: 1.3em; }
.sv-text ul { list-style: disc; } .sv-text ol { list-style: decimal; }
.sv-text a { text-decoration: underline; }
.sv-text blockquote { padding: 14px 18px; background: var(--sand); border-left: 4px solid var(--teal); }
.sv-text img, .sv-text iframe, .sv-text video { max-width: 100%; height: auto; }
.sv-text iframe { aspect-ratio: 16 / 9; width: 100%; }
.sv-text table { width: 100%; border-collapse: collapse; }
.sv-text td, .sv-text th { padding: 8px; border: 1px solid var(--line); }

/* Vypis clanku */
.sv-seznam { list-style: none; padding: 0; max-width: 760px; }
.sv-seznam li { border-top: 1px solid var(--line); }
.sv-seznam a { display: block; padding: 16px 0; text-decoration: none; }
.sv-seznam b { display: block; font-size: 20px; line-height: 1.25; }
.sv-seznam a:hover b { color: var(--red); }
.sv-seznam span { display: block; margin-top: 4px; font-size: 16px; color: var(--muted); }
.sv-listovani { margin-top: 20px; display: flex; gap: 24px; font-weight: 600; }

/* Stranky postavene v Thrive Architect: stara hlavicka a paticka pryc, barvy a pismo nove */
.sv-text .thrv_header, .sv-text .thrv_footer, .sv-text header.thrv_symbol, .sv-text footer.thrv_symbol { display: none !important; }
.sv-text .tve-page-section-out, .sv-text .tve-content-box-background, .sv-text .section-background { background: none !important; box-shadow: none !important; border: 0 !important; }
.sv-text .tcb-style-wrap, .sv-text .tcb-style-wrap h1, .sv-text .tcb-style-wrap h2, .sv-text .tcb-style-wrap h3, .sv-text .tcb-style-wrap h4, .sv-text .tcb-style-wrap p, .sv-text .tcb-style-wrap li, .sv-text .tcb-style-wrap span, .sv-text .tcb-style-wrap strong, .sv-text .tcb-style-wrap a { font-family: var(--fh) !important; color: var(--ink) !important; }
.sv-text .tcb-style-wrap .thrv-button a, .sv-text .tcb-style-wrap a.tcb-button-link { background: var(--red) !important; border-color: var(--red) !important; border-radius: 0 !important; }
.sv-text .tcb-style-wrap .thrv-button a, .sv-text .tcb-style-wrap .thrv-button a span, .sv-text .tcb-style-wrap a.tcb-button-link span { color: #fff !important; }
.sv-text .tcb-style-wrap font, .sv-text .tcb-style-wrap em, .sv-text .tcb-style-wrap b, .sv-text .tcb-style-wrap div { color: var(--ink) !important; }
