/* ============================================================
   pages.css — visų statinių puslapių (about/contacts/delivery/returns/faq) stiliai.
   Įkraunamas tik ant page-templates puslapių.
   ============================================================ */

/* === ABOUT — story, values, stats, process, cta === */
.about-hero-inner { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 60px; align-items: center; text-align: left; max-width: 1280px; margin: 0 auto; padding: 0 24px; }
.about-hero-inner .lead { margin: 0; }
.hero-side { position: relative; aspect-ratio: 1 / 1; }
.hero-side .blob { position: absolute; inset: 8% 8%; background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%); border-radius: 50%; opacity: 0.18; filter: blur(50px); }
.hero-balloon { position: absolute; width: 120px; height: 150px; background: linear-gradient(140deg, var(--primary-light), var(--primary)); border-radius: 50% 50% 50% 50% / 55% 55% 45% 45%; box-shadow: inset -20px -25px 45px rgba(0,0,0,0.15), 0 25px 50px rgba(0,0,0,0.18); }
.hero-balloon::after { content: ''; position: absolute; bottom: -6px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 9px solid transparent; border-right: 9px solid transparent; border-top: 12px solid var(--primary); }
.hero-balloon::before { content: ''; position: absolute; bottom: -100px; left: 50%; width: 1.5px; height: 100px; background: rgba(0,0,0,0.15); transform: translateX(-50%); }
.hero-balloon.b1 { top: 5%; left: 12%; animation: float-a 6s ease-in-out infinite; }
.hero-balloon.b2 { top: 18%; right: 8%; width: 95px; height: 120px; background: linear-gradient(140deg, var(--accent), #F7C948); animation: float-b 7s ease-in-out infinite 0.5s; }
.hero-balloon.b2::after { border-top-color: #B8911F; }
.hero-balloon.b3 { bottom: 10%; left: 28%; width: 100px; height: 125px; background: linear-gradient(140deg, var(--primary), var(--primary-dark)); animation: float-a 5.5s ease-in-out infinite 1s; }
@keyframes float-a { 0%,100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-18px) rotate(-3deg); } }
@keyframes float-b { 0%,100% { transform: translateY(0) rotate(4deg); } 50% { transform: translateY(-22px) rotate(4deg); } }

.story { padding: 90px 0; }
.story-grid { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: 64px; align-items: center; }
.story-eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: 0.15em; color: var(--primary); font-weight: 800; margin-bottom: 14px; display: block; }
.story h2 { font-size: clamp(32px, 4vw, 48px); font-weight: 800; letter-spacing: -0.03em; margin-bottom: 22px; }
.story p { color: var(--text-soft); font-size: 16px; line-height: 1.7; margin-bottom: 16px; }
.story p strong { color: var(--text); font-weight: 700; }
.story-visual { position: relative; aspect-ratio: 4/5; border-radius: 24px; overflow: hidden; background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); }
.story-visual::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.18), transparent 50%), radial-gradient(circle at 70% 80%, var(--accent), transparent 60%); opacity: 0.6; }
.story-visual .quote { position: absolute; inset: auto 32px 32px 32px; color: white; }
.story-visual .quote-mark { font-family: 'Bricolage Grotesque', sans-serif; font-size: 96px; line-height: 0.5; color: var(--accent); margin-bottom: 12px; }
.story-visual .quote p { font-family: 'Bricolage Grotesque', sans-serif; font-size: 22px; font-weight: 600; line-height: 1.4; color: white; margin-bottom: 18px; }
.story-visual .quote .author { font-size: 13px; opacity: 0.9; font-weight: 500; }

.values { padding: 90px 0; background: var(--bg-alt); }
.values-head { text-align: center; max-width: 720px; margin: 0 auto 56px; }
.values-head .eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: 0.15em; color: var(--primary); font-weight: 800; margin-bottom: 12px; display: block; }
.values-head h2 { font-size: clamp(32px, 4vw, 48px); font-weight: 800; letter-spacing: -0.03em; margin-bottom: 16px; }
.values-head p { color: var(--text-soft); font-size: 17px; line-height: 1.6; }
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.value-card { background: var(--bg); border: 1px solid var(--border); border-radius: 20px; padding: 36px 28px; transition: all 0.3s; }
.value-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(0,0,0,0.08); border-color: var(--primary-light); }
.value-icon { width: 56px; height: 56px; border-radius: 16px; background: linear-gradient(135deg, var(--primary), var(--accent)); display: flex; align-items: center; justify-content: center; margin-bottom: 20px; color: white; }
.value-icon svg { width: 26px; height: 26px; }
.value-card h3 { font-size: 20px; font-weight: 700; margin-bottom: 10px; letter-spacing: -0.01em; }
.value-card p { color: var(--text-soft); font-size: 15px; line-height: 1.6; }

.stats { padding: 80px 0; background: linear-gradient(90deg, var(--primary-dark), var(--primary)); color: white; position: relative; overflow: hidden; }
.stats::before { content: ''; position: absolute; top: -150px; right: -150px; width: 500px; height: 500px; background: radial-gradient(circle, var(--accent) 0%, transparent 70%); opacity: 0.12; border-radius: 50%; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; position: relative; z-index: 1; }
.stat-item { text-align: center; }
.stat-num { font-family: 'Bricolage Grotesque', sans-serif; font-size: clamp(40px, 5vw, 64px); font-weight: 800; line-height: 1; color: var(--accent); margin-bottom: 10px; letter-spacing: -0.03em; }
.stat-label { font-size: 14px; opacity: 0.85; font-weight: 500; }

.process { padding: 90px 0; }
.process-head { text-align: center; max-width: 720px; margin: 0 auto 56px; }
.process-head .eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: 0.15em; color: var(--primary); font-weight: 800; margin-bottom: 12px; display: block; }
.process-head h2 { font-size: clamp(32px, 4vw, 48px); font-weight: 800; letter-spacing: -0.03em; margin-bottom: 16px; }
.process-head p { color: var(--text-soft); font-size: 17px; line-height: 1.6; }
.process-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.process-step { padding: 32px 24px; background: var(--bg); border: 1px solid var(--border); border-radius: 20px; }
.process-step .num { font-family: 'Bricolage Grotesque', sans-serif; font-size: 40px; font-weight: 800; color: var(--primary); opacity: 0.18; line-height: 1; margin-bottom: 16px; letter-spacing: -0.03em; }
.process-step h3 { font-size: 18px; font-weight: 700; margin-bottom: 8px; letter-spacing: -0.01em; }
.process-step p { color: var(--text-soft); font-size: 14px; line-height: 1.6; }

.cta-banner { padding: 80px 0; }
.cta-card { background: radial-gradient(circle at 80% 20%, rgba(212, 175, 55, 0.25) 0%, transparent 50%), linear-gradient(135deg, var(--primary-dark), var(--primary)); border-radius: 28px; padding: 60px 70px; color: white; position: relative; overflow: hidden; text-align: center; }
.cta-card::before { content: ''; position: absolute; top: -100px; right: -100px; width: 400px; height: 400px; background: radial-gradient(circle, var(--accent) 0%, transparent 70%); opacity: 0.18; border-radius: 50%; }
.cta-card h2 { font-size: clamp(32px, 4vw, 48px); margin-bottom: 18px; line-height: 1.05; letter-spacing: -0.03em; font-weight: 800; position: relative; z-index: 1; }
.cta-card p { font-size: 17px; opacity: 0.92; margin-bottom: 32px; max-width: 540px; margin-left: auto; margin-right: auto; line-height: 1.6; position: relative; z-index: 1; }
.cta-card .cta-row { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; position: relative; z-index: 1; }
.cta-card .btn-primary { background: var(--accent); color: var(--primary-dark); }
.cta-card .btn-primary:hover { background: white; color: var(--primary-dark); }
.cta-card .btn-ghost { background: transparent; color: white; border-color: rgba(255,255,255,0.4); }
.cta-card .btn-ghost:hover { border-color: white; color: white; background: rgba(255,255,255,0.08); }

@media (max-width: 1024px) {
  .about-hero-inner { grid-template-columns: 1fr; gap: 40px; }
  .hero-side { aspect-ratio: 16/9; max-height: 360px; }
  .story-grid { grid-template-columns: 1fr; gap: 40px; }
  .values-grid { grid-template-columns: repeat(2, 1fr); }
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 40px; }
  .process-steps { grid-template-columns: repeat(2, 1fr); }
  .cta-card { padding: 50px 36px; }
}
@media (max-width: 640px) {
  .values-grid { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: 1fr; }
  .cta-card { padding: 40px 24px; }
}

/* === CONTACTS === */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; padding: 70px 0 30px; }
.contact-info h2 { font-size: 28px; font-weight: 700; margin-bottom: 14px; letter-spacing: -0.02em; }
.contact-info p.intro { color: var(--text-soft); font-size: 16px; line-height: 1.7; margin-bottom: 32px; max-width: 460px; }
.info-block { display: flex; gap: 16px; margin-bottom: 26px; padding-bottom: 26px; border-bottom: 1px solid var(--border); }
.info-block:last-child { border-bottom: none; }
.info-icon { width: 48px; height: 48px; flex-shrink: 0; border-radius: 14px; background: var(--bg-alt); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; color: var(--primary); }
.info-icon svg { width: 22px; height: 22px; }
.info-text { flex: 1; min-width: 0; }
.info-text .label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--text-soft); font-weight: 700; margin-bottom: 6px; }
.info-text .value { font-size: 17px; font-weight: 600; color: var(--text); margin-bottom: 4px; }
.info-text .value a { color: var(--primary); transition: color 0.15s; }
.info-text .value a:hover { color: var(--primary-dark); }
.info-text .meta { font-size: 14px; color: var(--text-soft); line-height: 1.5; }

.social-row { display: flex; gap: 10px; margin-top: 8px; }
.social-row a { width: 40px; height: 40px; border-radius: 50%; background: var(--bg-alt); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; color: var(--text); transition: all 0.2s; }
.social-row a:hover { background: var(--primary); color: white; border-color: var(--primary); transform: translateY(-2px); }
.social-row a svg { width: 18px; height: 18px; }

.contact-form-wrap { background: var(--bg-alt); border: 1px solid var(--border); border-radius: 24px; padding: 40px; }
.contact-form-wrap h2 { font-size: 24px; font-weight: 700; margin-bottom: 8px; letter-spacing: -0.02em; }
.contact-form-wrap p.form-sub { color: var(--text-soft); font-size: 14px; margin-bottom: 26px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.field { display: flex; flex-direction: column; }
.field.full { grid-column: span 2; }
.field label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-soft); margin-bottom: 6px; }
.field input, .field textarea, .field select { font-size: 15px; padding: 13px 16px; border: 1.5px solid var(--border); border-radius: 12px; background: white; color: var(--text); outline: none; transition: border-color 0.2s; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--primary); }
.field textarea { min-height: 120px; resize: vertical; line-height: 1.5; }
.form-submit { margin-top: 18px; }
.form-note { font-size: 12px; color: var(--text-soft); margin-top: 14px; line-height: 1.5; }

.map-section { padding: 30px 0 90px; }
.map-card { border-radius: 24px; overflow: hidden; border: 1px solid var(--border); height: 420px; position: relative; background: var(--bg-alt); }
.map-card iframe { width: 100%; height: 100%; border: 0; display: block; }
.map-overlay { position: absolute; bottom: 24px; left: 24px; background: white; border-radius: 16px; padding: 18px 22px; box-shadow: 0 12px 32px rgba(0,0,0,0.18); display: flex; align-items: center; gap: 14px; max-width: 320px; }
.map-overlay .pin { width: 40px; height: 40px; border-radius: 50%; background: var(--primary); color: white; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.map-overlay .pin svg { width: 18px; height: 18px; }
.map-overlay .where strong { display: block; font-size: 14px; font-weight: 700; margin-bottom: 2px; }
.map-overlay .where span { font-size: 12px; color: var(--text-soft); }

.quick-actions { padding: 60px 0 90px; }
.quick-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.quick-card { background: var(--bg); border: 1px solid var(--border); border-radius: 20px; padding: 32px 28px; transition: all 0.3s; text-align: center; }
.quick-card:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(0,0,0,0.08); border-color: var(--primary-light); }
.quick-card .icon { width: 56px; height: 56px; margin: 0 auto 18px; border-radius: 16px; background: linear-gradient(135deg, var(--primary), var(--accent)); color: white; display: flex; align-items: center; justify-content: center; }
.quick-card .icon svg { width: 24px; height: 24px; }
.quick-card h3 { font-size: 18px; font-weight: 700; margin-bottom: 8px; letter-spacing: -0.01em; }
.quick-card p { color: var(--text-soft); font-size: 14px; line-height: 1.6; margin-bottom: 18px; }
.quick-card .btn { padding: 12px 22px; font-size: 13px; }

@media (max-width: 1024px) {
  .contact-grid { grid-template-columns: 1fr; gap: 40px; padding: 50px 0 30px; }
  .contact-form-wrap { padding: 32px 24px; }
  .quick-grid { grid-template-columns: 1fr; }
  .map-card { height: 320px; }
  .map-overlay { bottom: 16px; left: 16px; right: 16px; max-width: none; }
}
@media (max-width: 640px) {
  .form-row { grid-template-columns: 1fr; }
  .field.full { grid-column: span 1; }
}

/* === DELIVERY === */
.options { padding: 70px 0 30px; }
.options-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.option-card { position: relative; background: var(--bg); border: 1px solid var(--border); border-radius: 24px; padding: 32px 28px 36px; transition: all 0.3s; display: flex; flex-direction: column; }
.option-card:hover { transform: translateY(-4px); box-shadow: 0 22px 44px rgba(0,0,0,0.08); border-color: var(--primary-light); }
.option-card.featured { border-color: var(--primary); box-shadow: 0 16px 40px rgba(76,29,149,0.12); }
.option-card .ribbon { position: absolute; top: 14px; right: 14px; background: var(--accent); color: var(--primary-dark); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; padding: 5px 11px; border-radius: 100px; }
.option-card .icon { width: 60px; height: 60px; border-radius: 18px; background: linear-gradient(135deg, var(--primary), var(--accent)); color: white; display: flex; align-items: center; justify-content: center; margin-bottom: 22px; }
.option-card .icon svg { width: 28px; height: 28px; }
.option-card h3 { font-size: 22px; font-weight: 800; margin-bottom: 10px; letter-spacing: -0.02em; }
.option-card p.desc { color: var(--text-soft); font-size: 14px; line-height: 1.6; margin-bottom: 20px; }
.option-card .price { font-family: 'Bricolage Grotesque', sans-serif; font-size: 36px; font-weight: 800; color: var(--primary); letter-spacing: -0.03em; line-height: 1; margin-bottom: 4px; }
.option-card .price .from { font-size: 13px; color: var(--text-soft); font-weight: 500; font-family: 'Plus Jakarta Sans', sans-serif; letter-spacing: 0; margin-right: 6px; vertical-align: middle; }
.option-card .price-note { font-size: 12px; color: var(--text-soft); margin-bottom: 20px; }
.option-feats { list-style: none; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--border); }
.option-feats li { display: flex; gap: 10px; font-size: 14px; color: var(--text); padding: 7px 0; line-height: 1.5; }
.option-feats li svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--primary); margin-top: 2px; }

.matrix-section { padding: 60px 0; background: var(--bg-alt); }
.matrix-head { max-width: 720px; margin: 0 auto 40px; text-align: center; }
.matrix-head .eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: 0.15em; color: var(--primary); font-weight: 800; margin-bottom: 12px; display: block; }
.matrix-head h2 { font-size: clamp(28px, 3.5vw, 40px); font-weight: 800; letter-spacing: -0.03em; margin-bottom: 14px; }
.matrix-head p { color: var(--text-soft); font-size: 16px; line-height: 1.6; }
.matrix-card { background: white; border: 1px solid var(--border); border-radius: 24px; overflow: hidden; }
.matrix-table { width: 100%; border-collapse: collapse; }
.matrix-table th, .matrix-table td { padding: 18px 22px; text-align: left; font-size: 15px; }
.matrix-table thead { background: var(--primary-dark); color: white; }
.matrix-table thead th { font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; font-weight: 700; padding: 16px 22px; }
.matrix-table tbody tr { border-top: 1px solid var(--border); }
.matrix-table tbody tr:hover { background: var(--bg-alt); }
.matrix-table .zone { font-weight: 700; color: var(--text); }
.matrix-table .zone .meta { display: block; font-size: 12px; font-weight: 500; color: var(--text-soft); margin-top: 4px; }
.matrix-table .price-cell { font-family: 'Bricolage Grotesque', sans-serif; font-weight: 800; font-size: 18px; color: var(--primary); letter-spacing: -0.02em; }
.matrix-table .price-cell.free { color: var(--success); }
.matrix-table .pill { display: inline-block; background: var(--bg-alt); color: var(--text); padding: 4px 10px; border-radius: 100px; font-size: 12px; font-weight: 700; }

.slots-section { padding: 80px 0; }
.slots-head { max-width: 720px; margin: 0 auto 40px; text-align: center; }
.slots-head .eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: 0.15em; color: var(--primary); font-weight: 800; margin-bottom: 12px; display: block; }
.slots-head h2 { font-size: clamp(28px, 3.5vw, 40px); font-weight: 800; letter-spacing: -0.03em; margin-bottom: 14px; }
.slots-head p { color: var(--text-soft); font-size: 16px; line-height: 1.6; }
.slots-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.slots-day { background: var(--bg); border: 1px solid var(--border); border-radius: 22px; padding: 32px; }
.slots-day h3 { font-size: 18px; font-weight: 800; margin-bottom: 20px; letter-spacing: -0.01em; display: flex; align-items: center; gap: 10px; }
.slots-day h3 .day-pill { background: var(--primary); color: white; font-size: 11px; font-weight: 800; padding: 4px 10px; border-radius: 100px; letter-spacing: 0.08em; text-transform: uppercase; }
.slot-list { display: flex; flex-direction: column; gap: 10px; }
.slot { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 12px 16px; background: var(--bg-alt); border-radius: 12px; border: 1px solid var(--border); transition: border-color 0.2s; }
.slot:hover { border-color: var(--primary); }
.slot.full { background: linear-gradient(180deg, #FFFCF0, white 60%); border-color: var(--accent); }
.slot .time { font-family: 'Bricolage Grotesque', sans-serif; font-weight: 800; font-size: 16px; color: var(--text); letter-spacing: -0.02em; min-width: 110px; }
.slot .name { font-size: 14px; color: var(--text-soft); font-weight: 600; }
.slot.full .name { color: var(--primary-dark); font-weight: 700; }
.slot .extra-cost { font-family: 'Bricolage Grotesque', sans-serif; font-size: 14px; font-weight: 800; letter-spacing: -0.01em; color: var(--primary); white-space: nowrap; }
.slot.full .extra-cost { color: var(--success); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; font-family: 'Plus Jakarta Sans', sans-serif; }

.time-section { padding: 70px 0; background: var(--bg-alt); }
.time-head { max-width: 720px; margin: 0 auto 40px; text-align: center; }
.time-head .eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: 0.15em; color: var(--primary); font-weight: 800; margin-bottom: 12px; display: block; }
.time-head h2 { font-size: clamp(28px, 3.5vw, 40px); font-weight: 800; letter-spacing: -0.03em; margin-bottom: 14px; }
.time-head p { color: var(--text-soft); font-size: 16px; line-height: 1.6; }
.time-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.time-card { background: var(--bg); border: 1.5px solid var(--border); border-radius: 20px; padding: 28px; }
.time-card.popular { border-color: var(--accent); background: linear-gradient(180deg, #FFFEF7 0%, white 60%); }
.time-card .label { font-size: 12px; text-transform: uppercase; letter-spacing: 0.12em; font-weight: 800; color: var(--text-soft); margin-bottom: 12px; }
.time-card.popular .label { color: var(--primary-dark); }
.time-card h3 { font-size: 28px; font-weight: 800; margin-bottom: 10px; letter-spacing: -0.02em; line-height: 1.1; }
.time-card .extra { font-family: 'Bricolage Grotesque', sans-serif; font-size: 22px; color: var(--primary); font-weight: 800; margin-bottom: 12px; letter-spacing: -0.02em; }
.time-card .extra.free { color: var(--success); }
.time-card p { color: var(--text-soft); font-size: 14px; line-height: 1.6; }

.longevity-section { padding: 80px 0; }
.longevity-head { max-width: 720px; margin: 0 auto 36px; text-align: center; }
.longevity-head .eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: 0.15em; color: var(--accent); font-weight: 800; margin-bottom: 12px; display: block; }
.longevity-head h2 { font-size: clamp(28px, 3.5vw, 40px); font-weight: 800; letter-spacing: -0.03em; margin-bottom: 14px; }
.longevity-head p { color: var(--text-soft); font-size: 16px; line-height: 1.6; }
.longevity-warning { display: inline-flex; align-items: center; gap: 10px; background: var(--warning-bg); color: #92400E; padding: 10px 18px; border-radius: 100px; font-size: 13px; font-weight: 700; margin-top: 14px; border: 1px solid var(--warning-border); }
.longevity-warning svg { width: 16px; height: 16px; flex-shrink: 0; }
.longevity-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.longevity-grid.two-cols { grid-template-columns: repeat(2, 1fr); max-width: 920px; margin: 0 auto; }
.longevity-card { position: relative; padding: 32px 28px; border-radius: 22px; border: 1.5px solid var(--border); background: var(--bg); overflow: hidden; }
.longevity-card.short { border-color: #FBBF24; background: linear-gradient(180deg, #FFFBEB 0%, white 50%); }
.longevity-card.medium { border-color: var(--primary-light); background: linear-gradient(180deg, #FAF7FC 0%, white 50%); }
.longevity-card.long { border-color: #34D399; background: linear-gradient(180deg, #F0FDF4 0%, white 50%); }
.longevity-card .balloon-shape { position: absolute; top: -30px; right: -30px; width: 130px; height: 160px; border-radius: 50% 50% 50% 50% / 55% 55% 45% 45%; opacity: 0.18; }
.longevity-card.short .balloon-shape { background: linear-gradient(140deg, #FBBF24, #F59E0B); }
.longevity-card.medium .balloon-shape { background: linear-gradient(140deg, var(--primary-light), var(--primary)); }
.longevity-card.long .balloon-shape { background: linear-gradient(140deg, #34D399, #059669); }
.longevity-card .label { position: relative; font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; font-weight: 800; color: var(--text-soft); margin-bottom: 12px; }
.longevity-card.short .label { color: var(--warning); }
.longevity-card.medium .label { color: var(--primary); }
.longevity-card.long .label { color: var(--success); }
.longevity-card .duration { position: relative; font-family: 'Bricolage Grotesque', sans-serif; font-size: 38px; font-weight: 800; line-height: 1; letter-spacing: -0.03em; margin-bottom: 6px; color: var(--text); }
.longevity-card .duration .unit { font-size: 18px; font-weight: 700; opacity: 0.7; margin-left: 4px; }
.longevity-card h3 { position: relative; font-size: 18px; font-weight: 800; margin-bottom: 12px; letter-spacing: -0.01em; }
.longevity-card .examples { position: relative; font-size: 13px; color: var(--text-soft); line-height: 1.6; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid rgba(0,0,0,0.06); }
.longevity-card .examples strong { color: var(--text); font-weight: 700; }
.longevity-card .tip { position: relative; font-size: 12px; color: var(--text-soft); line-height: 1.55; display: flex; gap: 8px; align-items: flex-start; }
.longevity-card .tip svg { width: 14px; height: 14px; flex-shrink: 0; margin-top: 2px; color: var(--primary); }

.cutoff { padding: 70px 0; background: linear-gradient(135deg, var(--primary-dark), var(--primary)); color: white; position: relative; overflow: hidden; }
.cutoff::before { content: ''; position: absolute; top: -120px; right: -120px; width: 460px; height: 460px; background: radial-gradient(circle, var(--accent) 0%, transparent 70%); opacity: 0.18; border-radius: 50%; }
.cutoff-inner { display: grid; grid-template-columns: auto 1fr auto; gap: 32px; align-items: center; max-width: 1280px; margin: 0 auto; padding: 0 24px; position: relative; z-index: 1; }
.cutoff .clock { width: 80px; height: 80px; border-radius: 24px; background: rgba(255,255,255,0.12); border: 1.5px solid rgba(255,255,255,0.25); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cutoff .clock svg { width: 36px; height: 36px; color: var(--accent); }
.cutoff h2 { font-size: clamp(24px, 3vw, 34px); font-weight: 800; margin-bottom: 6px; letter-spacing: -0.02em; }
.cutoff h2 .accent { color: var(--accent); }
.cutoff p { opacity: 0.92; font-size: 16px; line-height: 1.5; max-width: 560px; }
.cutoff .btn-primary { background: var(--accent); color: var(--primary-dark); }
.cutoff .btn-primary:hover { background: white; }

.delivery-faq { padding: 80px 0 100px; }
.delivery-faq h2 { font-size: clamp(28px, 3.5vw, 40px); font-weight: 800; letter-spacing: -0.03em; text-align: center; margin-bottom: 40px; }

@media (max-width: 1024px) {
  .options-grid { grid-template-columns: 1fr; }
  .time-grid { grid-template-columns: 1fr; }
  .slots-grid { grid-template-columns: 1fr; }
  .longevity-grid, .longevity-grid.two-cols { grid-template-columns: 1fr; }
  .cutoff-inner { grid-template-columns: 1fr; text-align: center; }
  .cutoff .clock { margin: 0 auto; }
  .cutoff p { margin: 0 auto; }
  .matrix-table th, .matrix-table td { padding: 14px 16px; font-size: 14px; }
}
@media (max-width: 640px) {
  .matrix-card { overflow-x: auto; }
  .matrix-table { min-width: 540px; }
  .slot { grid-template-columns: auto 1fr auto; }
}

/* === RETURNS — policy === */
.policy-wrap { padding: 60px 0 90px; }
.policy-grid { display: grid; grid-template-columns: 280px 1fr; gap: 60px; align-items: flex-start; }
.toc { position: sticky; top: 110px; background: var(--bg-alt); border: 1px solid var(--border); border-radius: 18px; padding: 24px; }
.toc h3 { font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--text-soft); font-weight: 800; margin-bottom: 16px; }
.toc ol { list-style: none; counter-reset: toc; padding: 0; }
.toc li { counter-increment: toc; margin-bottom: 12px; padding-left: 28px; position: relative; line-height: 1.4; }
.toc li::before { content: counter(toc, decimal-leading-zero); position: absolute; left: 0; top: 0; font-family: 'Bricolage Grotesque', sans-serif; font-size: 13px; font-weight: 800; color: var(--primary); }
.toc a { color: var(--text); font-size: 14px; font-weight: 600; transition: color 0.15s; }
.toc a:hover { color: var(--primary); }

.policy-content article { margin-bottom: 48px; scroll-margin-top: 110px; }
.policy-content article:last-child { margin-bottom: 0; }
.policy-content h2 { font-size: 30px; font-weight: 800; letter-spacing: -0.025em; margin-bottom: 18px; line-height: 1.15; }
.policy-content h2 .num { font-family: 'Bricolage Grotesque', sans-serif; font-size: 14px; font-weight: 800; color: var(--primary); display: block; text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 8px; }
.policy-content p { color: var(--text); font-size: 16px; line-height: 1.75; margin-bottom: 14px; }
.policy-content p.muted { color: var(--text-soft); }
.policy-content ul { padding-left: 22px; margin-bottom: 16px; }
.policy-content ul li { color: var(--text); font-size: 16px; line-height: 1.75; margin-bottom: 8px; padding-left: 6px; }
.policy-content ul li::marker { color: var(--primary); }
.policy-content strong { color: var(--text); font-weight: 700; }

.highlight { background: var(--bg-alt); border-left: 4px solid var(--primary); border-radius: 0 14px 14px 0; padding: 22px 26px; margin: 22px 0; }
.highlight strong { display: block; margin-bottom: 6px; font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--primary); font-weight: 800; }
.highlight p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--text); }

.quick-card-top { background: linear-gradient(135deg, var(--primary-dark), var(--primary)); color: white; border-radius: 24px; padding: 32px 36px; margin-bottom: 50px; display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: center; position: relative; overflow: hidden; }
.quick-card-top::before { content: ''; position: absolute; top: -100px; right: -100px; width: 380px; height: 380px; background: radial-gradient(circle, var(--accent) 0%, transparent 70%); opacity: 0.18; border-radius: 50%; }
.quick-card-top h3 { font-size: 22px; margin-bottom: 8px; letter-spacing: -0.02em; position: relative; z-index: 1; color: white; }
.policy-content .quick-card-top p { font-size: 15px; opacity: 0.95; line-height: 1.55; max-width: 540px; position: relative; z-index: 1; color: white; margin-bottom: 0; }
.quick-card-top .btn { background: var(--accent); color: var(--primary-dark); position: relative; z-index: 1; }
.quick-card-top .btn:hover { background: white; }

@media (max-width: 1024px) {
  .policy-grid { grid-template-columns: 1fr; gap: 30px; }
  .toc { position: static; }
  .quick-card-top { grid-template-columns: 1fr; }
}

/* === FAQ === */
.faq-wrap { padding: 60px 0 90px; }
.faq-grid { display: grid; grid-template-columns: 280px 1fr; gap: 60px; align-items: flex-start; }
.faq-side { position: sticky; top: 110px; }
.faq-side .label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--text-soft); font-weight: 800; margin-bottom: 14px; }
.faq-side .cat-list { display: flex; flex-direction: column; gap: 4px; }
.faq-side .cat-list a { padding: 12px 16px; border-radius: 12px; font-size: 14px; font-weight: 600; color: var(--text); transition: all 0.15s; display: flex; align-items: center; gap: 10px; }
.faq-side .cat-list a:hover { background: var(--bg-alt); color: var(--primary); }
.faq-side .cat-list a.active { background: var(--primary); color: white; }
.faq-side .cat-list a .count { margin-left: auto; font-size: 12px; opacity: 0.7; font-weight: 700; }

.faq-help { margin-top: 24px; background: var(--bg-alt); border: 1px solid var(--border); border-radius: 18px; padding: 22px; }
.faq-help h4 { font-size: 14px; font-weight: 800; margin-bottom: 8px; letter-spacing: -0.01em; }
.faq-help p { font-size: 13px; color: var(--text-soft); line-height: 1.55; margin-bottom: 14px; }
.faq-help .btn { padding: 10px 18px; font-size: 13px; }

.faq-search { background: var(--bg); border: 1.5px solid var(--border); border-radius: 100px; padding: 14px 22px 14px 50px; font-size: 15px; width: 100%; outline: none; margin-bottom: 28px; }
.faq-search-wrap { position: relative; }
.faq-search-wrap svg { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; color: var(--text-soft); }

.longevity-featured { background: linear-gradient(135deg, var(--warning-bg) 0%, #FFFBEB 100%); border: 1.5px solid var(--warning-border); border-radius: 22px; padding: 28px 32px; margin-bottom: 40px; }
.longevity-featured .feat-head { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.longevity-featured .feat-head .icon { width: 48px; height: 48px; border-radius: 14px; background: #92400E; color: var(--warning-bg); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.longevity-featured .feat-head .icon svg { width: 22px; height: 22px; }
.longevity-featured .feat-head .text { flex: 1; }
.longevity-featured .feat-head .label { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.12em; color: #92400E; margin-bottom: 4px; }
.longevity-featured .feat-head h3 { font-size: 20px; font-weight: 800; letter-spacing: -0.02em; color: var(--text); line-height: 1.2; }
.longevity-featured .lng-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.longevity-featured .lng-card { background: white; border-radius: 14px; padding: 18px 20px; border: 1px solid rgba(0,0,0,0.05); }
.longevity-featured .lng-card .lng-time { font-family: 'Bricolage Grotesque', sans-serif; font-size: 26px; font-weight: 800; line-height: 1; letter-spacing: -0.03em; margin-bottom: 4px; }
.longevity-featured .lng-card .lng-time .u { font-size: 14px; opacity: 0.7; font-weight: 700; margin-left: 3px; }
.longevity-featured .lng-card.short .lng-time { color: var(--warning); }
.longevity-featured .lng-card.medium .lng-time { color: var(--primary); }
.longevity-featured .lng-card.long .lng-time { color: var(--success); }
.longevity-featured .lng-card .lng-name { font-size: 13px; font-weight: 700; color: var(--text); margin-bottom: 4px; }
.longevity-featured .lng-card .lng-note { font-size: 11px; color: var(--text-soft); line-height: 1.4; }

.faq-category { margin-bottom: 50px; scroll-margin-top: 110px; }
.faq-category:last-child { margin-bottom: 0; }
.faq-category h2 { font-size: 28px; font-weight: 800; letter-spacing: -0.025em; margin-bottom: 8px; line-height: 1.15; display: flex; align-items: center; gap: 14px; }
.faq-category h2 .ico { width: 44px; height: 44px; border-radius: 14px; background: linear-gradient(135deg, var(--primary), var(--accent)); color: white; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.faq-category h2 .ico svg { width: 20px; height: 20px; }
.faq-category > p { color: var(--text-soft); font-size: 15px; line-height: 1.6; margin-bottom: 22px; padding-left: 58px; }

.faq-list { display: flex; flex-direction: column; gap: 12px; }
.faq-item { background: var(--bg); border: 1px solid var(--border); border-radius: 16px; padding: 22px 26px; transition: all 0.2s; }
.faq-item:hover { border-color: var(--primary-light); }
.faq-item[open] { border-color: var(--primary); background: linear-gradient(180deg, var(--bg-alt) 0%, var(--bg) 100%); }
.faq-item summary { font-weight: 700; font-size: 16px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; line-height: 1.35; color: var(--text); }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: ''; width: 12px; height: 12px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); flex-shrink: 0; transition: transform 0.2s; color: var(--primary); }
.faq-item[open] summary::after { transform: rotate(225deg); }
.faq-item .answer { padding-top: 16px; color: var(--text-soft); font-size: 15px; line-height: 1.7; }
.faq-item .answer p { margin-bottom: 10px; }
.faq-item .answer p:last-child { margin-bottom: 0; }
.faq-item .answer ul { padding-left: 20px; margin: 8px 0; }
.faq-item .answer li { margin-bottom: 6px; line-height: 1.65; }
.faq-item .answer strong { color: var(--text); font-weight: 700; }
.faq-item .answer a { color: var(--primary); font-weight: 600; }

.faq-cta { padding: 70px 0 90px; }
.faq-cta-card { background: linear-gradient(135deg, var(--primary-dark), var(--primary)); border-radius: 28px; padding: 50px 60px; color: white; position: relative; overflow: hidden; text-align: center; }
.faq-cta-card::before { content: ''; position: absolute; top: -100px; right: -100px; width: 380px; height: 380px; background: radial-gradient(circle, var(--accent) 0%, transparent 70%); opacity: 0.18; border-radius: 50%; }
.faq-cta-card h2 { font-size: clamp(28px, 3.5vw, 40px); margin-bottom: 14px; letter-spacing: -0.025em; position: relative; z-index: 1; color: white; }
.faq-cta-card p { font-size: 16px; opacity: 0.92; margin-bottom: 28px; max-width: 520px; margin-left: auto; margin-right: auto; line-height: 1.6; position: relative; z-index: 1; color: white; }
.faq-cta-card .cta-row { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; position: relative; z-index: 1; }
.faq-cta-card .btn-primary { background: var(--accent); color: var(--primary-dark); }
.faq-cta-card .btn-primary:hover { background: white; }
.faq-cta-card .btn-ghost { color: white; border-color: rgba(255,255,255,0.4); }
.faq-cta-card .btn-ghost:hover { border-color: white; background: rgba(255,255,255,0.08); }

@media (max-width: 1024px) {
  .faq-grid { grid-template-columns: 1fr; gap: 24px; }
  .faq-side { position: static; }
  .faq-side .cat-list { flex-direction: row; flex-wrap: wrap; }
  .faq-side .cat-list a { padding: 10px 14px; font-size: 13px; }
  .faq-help { display: none; }
  .faq-cta-card { padding: 40px 28px; }
}
@media (max-width: 640px) {
  .faq-category h2 { font-size: 22px; }
  .faq-category > p { padding-left: 0; margin-top: 8px; }
  .longevity-featured { padding: 24px; }
  .longevity-featured .lng-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   PASLAUGŲ PUSLAPIAI (page-service.php)
   ============================================================ */

.pb-service .page-hero { padding: 60px 0 50px; }
.pb-service .page-hero h1 { font-size: clamp(36px, 4.6vw, 56px); }
.pb-service .page-hero p.lead { font-size: 18px; max-width: 720px; }

.service-features { padding: 70px 0; background: var(--bg-alt); }
.service-features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.service-feature { background: white; border-radius: 18px; padding: 32px 26px; border: 1px solid var(--border); transition: transform 0.2s, box-shadow 0.2s; }
.service-feature:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(0,0,0,0.06); }
.service-feature-icon { width: 56px; height: 56px; border-radius: 16px; background: linear-gradient(135deg, rgba(76,29,149,0.10), rgba(212,175,55,0.10)); color: var(--primary); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.service-feature-icon svg { width: 26px; height: 26px; }
.service-feature h3 { font-size: 18px; font-weight: 800; margin-bottom: 10px; letter-spacing: -0.01em; }
.service-feature p { font-size: 14px; color: var(--text-soft); line-height: 1.6; margin: 0; }

/* Section-head paslaugų puslapiams — centruota, ne flex (perrašom .section-head default'ą) */
.pb-service .svc-section-head {
	display: block;
	text-align: center;
	margin-bottom: 40px;
}
.pb-service .svc-section-head .eyebrow {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--primary);
	font-weight: 700;
	margin-bottom: 12px;
	display: inline-block;
}
.pb-service .svc-section-head h2 {
	font-size: clamp(28px, 3.5vw, 40px);
	font-weight: 800;
	letter-spacing: -0.025em;
	margin: 0;
}

/* Kainoraštis (Dovanų pakavimui ir kitiems specifiniams puslapiams) */
.service-pricing { padding: 70px 0; background: var(--bg-alt); }
.pricing-table-wrap { max-width: 640px; margin: 0 auto; }
.pricing-table { list-style: none; padding: 0; margin: 0; background: white; border: 1px solid var(--border); border-radius: 16px; overflow: hidden; box-shadow: 0 4px 16px rgba(0,0,0,0.04); }
.pricing-table li { display: flex; justify-content: space-between; align-items: center; padding: 18px 24px; border-bottom: 1px solid var(--border); font-size: 15px; }
.pricing-table li:last-child { border-bottom: none; }
.pricing-table .label { color: var(--text); font-weight: 600; }
.pricing-table .price { color: var(--primary); font-weight: 800; font-family: 'Bricolage Grotesque', sans-serif; font-size: 18px; }

.service-process { padding: 80px 0; }
.svc-steps {
	list-style: none;
	padding: 0;
	max-width: 720px;
	margin: 0 auto;
	display: block; /* svarbu — kitos `process-steps` klasės grid'as neperima */
}
.svc-steps li {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 18px;
	padding: 18px 0;
	position: relative;
}
.svc-steps li:not(:last-child)::after { content: ''; position: absolute; left: 21px; top: 60px; bottom: -10px; width: 2px; background: linear-gradient(180deg, var(--border), transparent); }
.svc-steps .step-num { flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(135deg, var(--primary), var(--accent)); color: white; display: inline-flex; align-items: center; justify-content: center; font-family: 'Bricolage Grotesque', sans-serif; font-weight: 800; font-size: 18px; box-shadow: 0 6px 18px rgba(76,29,149,0.20); }
.svc-steps p { margin: 8px 0 0; font-size: 16px; line-height: 1.6; color: var(--text); }

.service-cta { padding: 70px 0 100px; }
.service-cta .cta-card { background: linear-gradient(135deg, var(--primary-dark), var(--primary)); border-radius: 28px; padding: 50px 60px; color: white; position: relative; overflow: hidden; text-align: center; }
.service-cta .cta-card::before { content: ''; position: absolute; top: -100px; right: -100px; width: 380px; height: 380px; background: radial-gradient(circle, var(--accent) 0%, transparent 70%); opacity: 0.18; border-radius: 50%; }
.service-cta .cta-card h2 { font-size: clamp(26px, 3vw, 36px); margin-bottom: 14px; letter-spacing: -0.025em; position: relative; z-index: 1; color: white; }
.service-cta .cta-card p { font-size: 16px; opacity: 0.92; margin: 0 auto 28px; max-width: 520px; line-height: 1.6; position: relative; z-index: 1; color: white; }
.service-cta .cta-card .hero-cta { justify-content: center; flex-wrap: wrap; position: relative; z-index: 1; }
.service-cta .cta-card .btn-primary { background: var(--accent); color: var(--primary-dark); }
.service-cta .cta-card .btn-primary:hover { background: white; }
.service-cta .cta-card .btn-ghost { color: white; border-color: rgba(255,255,255,0.4); }
.service-cta .cta-card .btn-ghost:hover { border-color: white; background: rgba(255,255,255,0.08); }

@media (max-width: 980px) {
  .service-features-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .service-features-grid { grid-template-columns: 1fr; }
  .service-cta .cta-card { padding: 36px 24px; }
}

/* ============================================================
   PASLAUGOS APŽVALGA (page-services-overview.php)
   ============================================================ */

.pb-services-overview .lead-content { font-size: 16px; color: var(--text-soft); line-height: 1.65; max-width: 720px; margin-top: 16px; }
.pb-services-overview .lead-content p { margin: 0 0 12px; }

.services-grid-section { padding: 60px 0 90px; }
.services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.service-card {
	display: flex;
	flex-direction: column;
	background: white;
	border: 1px solid var(--border);
	border-radius: 20px;
	padding: 30px 28px;
	text-decoration: none;
	color: inherit;
	transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
	position: relative;
}
.service-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(0,0,0,0.08);
	border-color: var(--primary-light);
}
.service-card-icon {
	width: 56px;
	height: 56px;
	border-radius: 16px;
	background: linear-gradient(135deg, rgba(76,29,149,0.10), rgba(212,175,55,0.10));
	color: var(--primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}
.service-card-icon svg { width: 26px; height: 26px; }
.service-card h3 {
	font-size: 20px;
	font-weight: 800;
	margin-bottom: 10px;
	letter-spacing: -0.015em;
}
.service-card p {
	font-size: 14px;
	color: var(--text-soft);
	line-height: 1.6;
	flex: 1;
	margin: 0 0 20px;
}
.service-card-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 14px;
	border-top: 1px solid var(--border);
}
.service-card-meta .price {
	font-weight: 700;
	color: var(--primary);
	font-size: 14px;
}
.service-card-meta .arrow {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--bg-alt);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s;
}
.service-card-meta .arrow svg { width: 16px; height: 16px; color: var(--primary); }
.service-card:hover .arrow { background: var(--primary); }
.service-card:hover .arrow svg { color: white; }

@media (max-width: 980px) {
	.services-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.services-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* ============================================
 * Teisinis puslapis (pb-legal) — v4.7.24
 * page-legal.php template'ui (privatumas, slapukai, taisyklės)
 * ============================================ */
.pb-legal { background: var(--bg); }

.pb-legal-hero { padding: 60px 0 32px; background: linear-gradient(180deg, var(--bg-alt) 0%, #FFFFFF 100%); position: relative; overflow: hidden; }
.pb-legal-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at top right, rgba(212, 175, 55, 0.08) 0%, transparent 50%); pointer-events: none; }
.pb-legal-hero-inner { position: relative; max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.pb-legal-hero .eyebrow { display: inline-flex; align-items: center; gap: 8px; background: white; border: 1px solid var(--border); color: var(--primary); padding: 7px 14px; border-radius: 100px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 16px; box-shadow: 0 2px 8px rgba(0,0,0,0.04); }
.pb-legal-hero h1 { font-family: 'Bricolage Grotesque', sans-serif; font-size: clamp(32px, 4.2vw, 48px); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; margin: 0 0 10px; color: var(--text); }
.pb-legal-meta { font-size: 13px; color: var(--text-soft); margin: 0; font-weight: 500; }

.pb-legal-body { padding: 50px 0 70px; }
.pb-legal-body .container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.pb-legal-grid { display: grid; grid-template-columns: 260px 1fr; gap: 56px; align-items: start; }

/* TOC */
.pb-legal-toc { position: sticky; top: 100px; align-self: start; }
.pb-legal-toc-inner { background: white; border: 1px solid var(--border); border-radius: 16px; padding: 22px 22px 22px 24px; box-shadow: 0 4px 16px rgba(0,0,0,0.03); max-height: calc(100vh - 130px); overflow-y: auto; }
.pb-legal-toc-title { font-family: 'Bricolage Grotesque', sans-serif; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: var(--primary); margin: 0 0 14px; }
.pb-legal-toc ul { list-style: none; padding: 0; margin: 0; }
.pb-legal-toc li { margin: 0; padding: 0; }
.pb-legal-toc li + li { margin-top: 2px; }
.pb-legal-toc a { display: block; padding: 6px 10px; border-radius: 8px; font-size: 13.5px; line-height: 1.45; font-weight: 500; color: var(--text); text-decoration: none; transition: all 0.15s; border-left: 2px solid transparent; }
.pb-legal-toc a:hover { background: var(--bg-alt); color: var(--primary); border-left-color: var(--accent); }
.pb-legal-toc-h3 a { padding-left: 22px; font-size: 12.5px; color: var(--text-soft); font-weight: 500; }
.pb-legal-toc-h3 a:hover { color: var(--primary); }

/* Turinio dėklas */
.pb-legal-content { max-width: 760px; font-size: 16px; line-height: 1.75; color: var(--text); }
.pb-legal-content--wide { max-width: 920px; }
.pb-legal-content h2 { font-family: 'Bricolage Grotesque', sans-serif; font-size: 26px; font-weight: 800; line-height: 1.2; letter-spacing: -0.01em; margin: 44px 0 14px; color: var(--text); scroll-margin-top: 100px; }
.pb-legal-content h2:first-child { margin-top: 0; }
.pb-legal-content h3 { font-family: 'Bricolage Grotesque', sans-serif; font-size: 19px; font-weight: 700; line-height: 1.3; margin: 32px 0 10px; color: var(--text); scroll-margin-top: 100px; }
.pb-legal-content h4 { font-size: 16px; font-weight: 700; margin: 24px 0 8px; color: var(--text); }
.pb-legal-content p { margin: 0 0 16px; }
.pb-legal-content ul, .pb-legal-content ol { margin: 0 0 18px; padding-left: 22px; }
.pb-legal-content li { margin-bottom: 6px; }
.pb-legal-content a { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.pb-legal-content a:hover { color: var(--primary-dark); text-decoration-thickness: 2px; }
.pb-legal-content strong { font-weight: 700; color: var(--text); }
.pb-legal-content table { width: 100%; border-collapse: collapse; margin: 18px 0 24px; font-size: 14.5px; border-radius: 10px; overflow: hidden; border: 1px solid var(--border); }
.pb-legal-content table th { background: var(--bg-alt); color: var(--text); font-weight: 700; text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--border); }
.pb-legal-content table td { padding: 12px 14px; border-bottom: 1px solid var(--border); vertical-align: top; }
.pb-legal-content table tr:last-child td { border-bottom: none; }
.pb-legal-content blockquote { margin: 22px 0; padding: 14px 18px; background: var(--bg-alt); border-left: 3px solid var(--accent); border-radius: 8px; color: var(--text); font-style: italic; }
.pb-legal-content code { background: var(--bg-alt); padding: 2px 6px; border-radius: 4px; font-size: 14px; color: var(--primary-dark); }
.pb-legal-content hr { border: none; border-top: 1px solid var(--border); margin: 36px 0; }

/* Apatinis CTA */
.pb-legal-footer-cta { padding: 0 0 80px; }
.pb-legal-cta-box { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 36px; background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); color: white; border-radius: 24px; box-shadow: 0 16px 40px rgba(76, 29, 149, 0.18); }
.pb-legal-cta-box > div { display: flex; flex-direction: column; gap: 4px; }
.pb-legal-cta-box strong { font-family: 'Bricolage Grotesque', sans-serif; font-size: 18px; font-weight: 800; }
.pb-legal-cta-box span { font-size: 14px; opacity: 0.85; }
.pb-legal-cta-box .btn-primary { background: var(--accent); color: var(--primary-dark); flex-shrink: 0; }
.pb-legal-cta-box .btn-primary:hover { background: white; color: var(--primary-dark); }

/* Mobile */
@media (max-width: 960px) {
	.pb-legal-grid { grid-template-columns: 1fr; gap: 24px; }
	.pb-legal-toc { position: static; }
	.pb-legal-toc-inner { padding: 18px 20px; max-height: 280px; }
	.pb-legal-content { max-width: 100%; font-size: 15.5px; }
	.pb-legal-content h2 { font-size: 22px; margin: 32px 0 12px; }
	.pb-legal-content h3 { font-size: 17px; margin: 24px 0 8px; }
}
@media (max-width: 540px) {
	.pb-legal-cta-box { flex-direction: column; text-align: center; padding: 24px 20px; border-radius: 18px; }
}


/* ============================================
 * Įmonių renginiams (pb-corporate) — v4.7.25
 * Modulinė struktūra: hero + .pb-info-block + produktų grid
 * page-corporate.php template'ui
 * ============================================ */
.pb-corporate { background: var(--bg); }

/* ===== HERO ===== */
.pb-corp-hero { padding: 50px 0 60px; background: linear-gradient(180deg, var(--bg-alt) 0%, #FFFFFF 100%); position: relative; overflow: hidden; }
.pb-corp-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at top right, rgba(212, 175, 55, 0.12) 0%, transparent 50%), radial-gradient(ellipse at bottom left, rgba(76, 29, 149, 0.08) 0%, transparent 55%); pointer-events: none; }
.pb-corp-hero .container { position: relative; z-index: 1; max-width: 1280px; }
.pb-corp-hero-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 60px; align-items: center; }
.pb-corp-hero-text { max-width: 620px; }
.pb-corp-eyebrow { display: inline-flex; align-items: center; gap: 8px; background: var(--primary-dark); color: white; padding: 8px 18px; border-radius: 100px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 22px; box-shadow: 0 6px 18px rgba(46, 16, 101, 0.22); }
.pb-corp-eyebrow svg { color: var(--accent); }
.pb-corp-title { font-family: 'Bricolage Grotesque', sans-serif; font-size: clamp(36px, 5vw, 56px); font-weight: 800; line-height: 1.05; letter-spacing: -0.03em; margin: 0 0 18px; color: var(--text); }
.pb-corp-lead { font-size: 17px; line-height: 1.65; color: var(--text-soft); margin: 0 0 28px; }
.pb-corp-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.pb-corp-hero-actions .btn { display: inline-flex; align-items: center; gap: 8px; }
.pb-corp-quick-points { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; }
.pb-corp-quick-points li { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; color: var(--text); }
.pb-corp-quick-points li svg { color: var(--accent); flex-shrink: 0; }
.pb-corp-hero-visual { display: flex; justify-content: center; align-items: center; }
.pb-corp-hero-visual svg { width: 100%; max-width: 380px; height: auto; }
.pb-corp-balloon-1 { animation: pbcorpfloat 6s ease-in-out infinite; transform-origin: 120px 120px; }
.pb-corp-balloon-2 { animation: pbcorpfloat 5s ease-in-out infinite reverse; transform-origin: 220px 100px; animation-delay: 0.5s; }
.pb-corp-balloon-3 { animation: pbcorpfloat 7s ease-in-out infinite; transform-origin: 265px 180px; animation-delay: 1s; }
@keyframes pbcorpfloat { 0%, 100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-12px) rotate(1.5deg); } }

/* ===== MODULINIS INFO BLOKAS (.pb-info-block) =====
 * Naudojamas pakartotinai kiekvienam paslaugos bloko: logo balionai,
 * girliandos, dekoracijos, ir t.t. — pridėti naują, atkartoti HTML su nauja
 * .pb-info-block-grid struktūra. CSS automatiškai pritaikomas.
 */
.pb-info-block { padding: 80px 0; background: var(--bg); position: relative; }
.pb-info-block + .pb-info-block { background: var(--bg-alt); } /* zebras — kas antras */
.pb-info-block .container { max-width: 1280px; }

.pb-info-block-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.pb-info-block-grid--reverse > .pb-info-block-content { order: 2; }
.pb-info-block-grid--reverse > .pb-info-block-gallery { order: 1; }

.pb-info-block-eyebrow { display: inline-flex; align-items: center; gap: 12px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.15em; color: var(--primary); margin-bottom: 16px; }
.pb-info-block-num { font-family: 'Bricolage Grotesque', sans-serif; display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 30px; padding: 0 8px; border-radius: 8px; background: var(--accent); color: var(--primary-dark); font-size: 13px; font-weight: 800; letter-spacing: 0; }

.pb-info-block-title { font-family: 'Bricolage Grotesque', sans-serif; font-size: clamp(28px, 4vw, 44px); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; margin: 0 0 16px; color: var(--text); }
.pb-info-block-lead { font-size: 16px; line-height: 1.65; color: var(--text-soft); margin: 0 0 28px; }

.pb-info-block-features { list-style: none; padding: 0; margin: 0 0 32px; display: flex; flex-direction: column; gap: 14px; }
.pb-info-block-features li { display: flex; align-items: flex-start; gap: 14px; }
.pb-info-block-features li > svg { color: var(--accent); flex-shrink: 0; margin-top: 2px; }
.pb-info-block-features li > div { display: flex; flex-direction: column; gap: 2px; }
.pb-info-block-features li strong { font-size: 15px; font-weight: 700; color: var(--text); }
.pb-info-block-features li span { font-size: 14px; color: var(--text-soft); line-height: 1.5; }

.pb-info-block-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* Galerija — asimetrinė 3-elementų tinklas (1 didelis + 2 maži) */
.pb-info-block-gallery { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 14px; aspect-ratio: 1; max-width: 520px; margin: 0 auto; width: 100%; }
.pb-info-gallery-item { border-radius: 20px; overflow: hidden; background: var(--bg-alt); border: 1px solid var(--border); position: relative; box-shadow: 0 10px 30px rgba(76, 29, 149, 0.08); transition: transform 0.3s; }
.pb-info-gallery-item:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(76, 29, 149, 0.14); }
.pb-info-gallery-item.gal-1 { grid-row: 1 / 3; grid-column: 1; }
.pb-info-gallery-item.gal-2 { grid-row: 1; grid-column: 2; }
.pb-info-gallery-item.gal-3 { grid-row: 2; grid-column: 2; }
.pb-info-gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pb-info-gallery-placeholder { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--bg-alt) 0%, white 100%); }
.pb-info-gallery-placeholder svg { width: 60%; height: 60%; opacity: 0.85; }

/* ===== PRODUKTŲ GRID SEKCIJA ===== */
.pb-corp-shop { scroll-margin-top: 100px; }
.pb-corp-shop .section-head { align-items: flex-end; }

/* ===== APATINIS CTA ===== */
.pb-corp-bottom-cta { padding: 50px 0 90px; background: var(--bg); }
.pb-corp-bottom-cta .container { max-width: 1280px; }
.pb-corp-bottom-cta-box { display: flex; align-items: center; justify-content: space-between; gap: 24px; background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); color: white; padding: 28px 36px; border-radius: 24px; box-shadow: 0 20px 50px rgba(76, 29, 149, 0.20); }
.pb-corp-bottom-cta-box > div:first-child { display: flex; flex-direction: column; gap: 4px; }
.pb-corp-bottom-cta-box strong { font-family: 'Bricolage Grotesque', sans-serif; font-size: 18px; font-weight: 800; }
.pb-corp-bottom-cta-box span { font-size: 14px; opacity: 0.85; }
.pb-corp-bottom-cta-actions { display: flex; gap: 12px; flex-shrink: 0; flex-wrap: wrap; }
.pb-corp-bottom-cta-actions .btn-primary { background: var(--accent); color: var(--primary-dark); display: inline-flex; align-items: center; gap: 8px; }
.pb-corp-bottom-cta-actions .btn-primary:hover { background: white; color: var(--primary-dark); }
.pb-corp-bottom-cta-actions .btn-ghost { background: transparent; color: white; border-color: rgba(255, 255, 255, 0.3); }
.pb-corp-bottom-cta-actions .btn-ghost:hover { border-color: white; color: white; }

/* Mobile */
@media (max-width: 900px) {
	.pb-corp-hero-grid { grid-template-columns: 1fr; gap: 24px; }
	.pb-corp-hero-visual { order: -1; }
	.pb-corp-hero-visual svg { max-width: 260px; }
	.pb-corp-quick-points { grid-template-columns: 1fr; }

	.pb-info-block { padding: 50px 0; }
	.pb-info-block-grid { grid-template-columns: 1fr; gap: 30px; }
	.pb-info-block-grid--reverse > .pb-info-block-content,
	.pb-info-block-grid--reverse > .pb-info-block-gallery { order: initial; }
	.pb-info-block-gallery { max-width: 360px; }

	.pb-corp-bottom-cta-box { flex-direction: column; text-align: center; padding: 24px 20px; border-radius: 18px; }
	.pb-corp-bottom-cta-actions { width: 100%; justify-content: center; }
}
@media (max-width: 540px) {
	.pb-info-block-features li { font-size: 14px; }
	.pb-info-block-gallery { gap: 10px; }
	.pb-corp-bottom-cta-actions .btn { width: 100%; justify-content: center; }
}
