/*
Theme Name: GoByDriver
Template: vv-transfer-base
Description: Визия на gobydriver.com: шофьор на час и еднодневни пътувания с шофьор.
Version: 1.0.0
Text Domain: gobydriver
*/

:root { --gd-ink: var(--wp--preset--color--ink); --gd-muted: var(--wp--preset--color--muted); --gd-line: var(--wp--preset--color--line); --gd-pine: var(--wp--preset--color--cta); --gd-clay: var(--wp--preset--color--clay); --gd-wheat: var(--wp--preset--color--soft); }

.gd-header { background: var(--wp--preset--color--base); position: sticky; top: 0; z-index: 40; padding-top: .8rem; padding-bottom: .8rem; border-bottom: 1px dashed var(--gd-line); }
.gd-header .wp-block-site-title { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.5rem; }
.gd-header .wp-block-site-title a { color: var(--gd-ink); text-decoration: none; display: inline-flex; align-items: center; gap: .45em; }
.gd-header .wp-block-site-title a::before { content: ""; width: .95em; height: .95em; border-radius: 50%; border: 3px solid var(--gd-clay); box-sizing: border-box; background: radial-gradient(circle, var(--gd-clay) 0 22%, transparent 24%); }
.gd-header .wp-block-navigation { color: var(--gd-ink); font-weight: 600; }
.gd-header .wp-block-navigation a { text-decoration: none; }
.gd-header .wp-block-navigation a:hover { color: var(--gd-clay); }
.gd-header-right { gap: 1.5rem; }
.gd-header .wp-block-button__link { padding: .5rem 1rem; }
@media (max-width: 600px) { .gd-header-cta { display: none; } }

.gd-hero h1 { max-width: 15ch; margin-top: .4rem; }
.gd-hand { margin: 0; font-family: var(--wp--preset--font-family--display); font-style: italic; color: var(--gd-clay); font-weight: 600; }
.gd-lead { font-size: clamp(1.1rem, 1.5vw, 1.22rem); color: var(--gd-muted); max-width: 33rem; }
.gd-modes { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin: 1.4rem 0 0; list-style: none; padding: 0; max-width: 30rem; }
.gd-modes li { background: var(--wp--preset--color--surface); border: 1px solid var(--gd-line); border-radius: 8px; padding: .8rem .9rem; }
.gd-modes strong { display: block; font-family: var(--wp--preset--font-family--display); font-size: 1.1rem; }
.gd-modes span { color: var(--gd-muted); font-size: .95rem; }
.gd-book-col .vvt { max-width: none; }
.gd-book-col .vvt-card { border-radius: 10px; border-color: var(--gd-line); background: var(--wp--preset--color--surface); box-shadow: 0 18px 40px -26px rgba(42, 41, 37, .5); }
.vvt { --vvt-accent: #2F5D50; --vvt-accent-ink: #fff; --vvt-ink: #2A2925; --vvt-muted: #6A645A; --vvt-line: #E0D5C1; --vvt-soft: #F6F1E7; --vvt-radius: 6px; font-family: var(--wp--preset--font-family--body); }
.gd-book-col .vvt-counters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vvt-counter-label { white-space: nowrap; }
@media (max-width: 420px) { .gd-book-col .vvt-counters { grid-template-columns: 1fr; } }
.vv-quick { border-left-color: var(--gd-clay); background: var(--wp--preset--color--surface); }
.gd-quick-wrap { margin-top: var(--wp--preset--spacing--40); }
.gd-quick-wrap .vv-quick { max-width: 46rem; }

/* Маршрути с линия като пътека */
.gd-trips { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1.1rem; margin-top: 1.5rem; }
.gd-trip { background: var(--wp--preset--color--surface); border: 1px solid var(--gd-line); border-radius: 10px; padding: 1.3rem 1.3rem 1.1rem; display: flex; flex-direction: column; }
.gd-trip h3 { margin: 0 0 .2rem; }
.gd-trip .gd-sub { color: var(--gd-muted); margin: 0 0 1rem; font-size: 1rem; }
.gd-trip ol { list-style: none; margin: 0 0 1rem; padding: 0 0 0 1.4rem; position: relative; }
.gd-trip ol::before { content: ""; position: absolute; left: .38rem; top: .55rem; bottom: .55rem; border-left: 2px dotted var(--gd-clay); }
.gd-trip ol li { position: relative; padding: .18rem 0; }
.gd-trip ol li::before { content: ""; position: absolute; left: -1.27rem; top: .55rem; width: .62rem; height: .62rem; border-radius: 50%; background: var(--wp--preset--color--surface); border: 2px solid var(--gd-clay); }
.gd-trip ol li:first-child::before, .gd-trip ol li:last-child::before { background: var(--gd-clay); }
.gd-trip .gd-time { color: var(--gd-muted); font-size: .9rem; margin-left: .3rem; }
.gd-trip .gd-day { margin-top: auto; display: flex; justify-content: space-between; align-items: baseline; gap: .6rem; flex-wrap: wrap; border-top: 1px solid var(--gd-line); padding-top: .8rem; font-weight: 600; }
.gd-trip .gd-day a { color: var(--gd-pine); text-decoration: none; }

/* Почасово */
.gd-hourly { background: var(--gd-pine); color: #E8EFEA; border-radius: 14px; padding: clamp(1.5rem, 4vw, 2.75rem); }
.gd-hourly h2, .gd-hourly h3 { color: #fff; }
.gd-hourly table { width: 100%; border-collapse: collapse; }
.gd-hourly th, .gd-hourly td { border: 0; border-bottom: 1px solid rgba(232, 239, 234, .25); padding: .7rem .4rem; text-align: left; }
.gd-hourly thead th { font-weight: 400; color: #B9CCC3; font-size: .9rem; }
.gd-hourly .wp-block-button__link { background: var(--gd-clay); color: #fff; }
.gd-hourly .vv-missing { color: #5c4400; }

.gd-steps { list-style: none; counter-reset: s; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.4rem; }
.gd-steps li { counter-increment: s; padding-left: 3.2rem; position: relative; }
.gd-steps li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 2.3rem; height: 2.3rem; border-radius: 50%; display: grid; place-items: center; font-family: var(--wp--preset--font-family--display); font-weight: 700; border: 2px solid var(--gd-clay); color: var(--gd-clay); }
.gd-steps strong { display: block; font-family: var(--wp--preset--font-family--display); font-size: 1.15rem; }

.vv-faq.alignwide > * { max-width: 48rem; }

.gd-footer { background: var(--gd-ink); color: #D8D1C4; }
.gd-footer a { color: #fff; }
.gd-footer .wp-block-site-title { font-family: var(--wp--preset--font-family--display); font-size: 1.5rem; font-weight: 700; }
.gd-footer .wp-block-site-title a { color: #fff; text-decoration: none; }
.gd-footer .vv-missing { color: #5c4400; }

/* Общи корекции */
.gd-header { padding-left: 16px; padding-right: 16px; }
.gd-header-row { gap: 1rem; }
.wp-site-blocks > main, .wp-site-blocks > .wp-block-template-part + main { margin-block-start: 0; }
.gd-header .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
