/* ==========================================================================
   v5: title area, share links, pricing plans, header / footer building blocks, button wrapper.
   ========================================================================== */
.grid--2 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr)); }
@media (min-width: 900px) { .grid--2 { grid-template-columns: repeat(2, 1fr); } }

/* Title area (archives, plain pages, shop): Theme Options → Page title */
.title-area { padding-top: var(--space-5); }
.title-area__inner { padding: clamp(1.75rem, 1rem + 3vw, 3.5rem) var(--panel-pad); border-radius: var(--radius-lg); }
.title-area__inner h1 { max-width: 22ch; }
.title-area__inner .lead { max-width: 64ch; margin-top: var(--space-3); color: var(--color-muted); }
.title-area__inner .crumbs { margin-bottom: var(--space-4); }
.title-area--white .title-area__inner { padding-inline: 0; }
.title-area--mist .title-area__inner { background: var(--color-mist); }
.title-area--night .title-area__inner { background-image: linear-gradient(90deg, rgba(13, 26, 33, .94), rgba(13, 26, 33, .6)), url("../img/art/night-waves.webp"); color: var(--color-on-night); }
.title-area--night h1 { color: #fff; }
.title-area--night .lead, .title-area--night .crumbs, .title-area--night .crumbs a { color: var(--color-on-night-muted); }

/* Articles */
.article--no-toc { grid-template-columns: minmax(0, 860px) !important; justify-content: center; }
.share { display: flex; align-items: center; gap: var(--space-3); margin-block: var(--space-6) var(--space-4); }
.share__label { font-weight: 600; color: var(--color-ink); font-size: var(--text-sm); }
.share .social a { background: var(--color-mist); }

/* Button widget */
.hyp-button-wrap { display: flex; }
.hyp-button-wrap--center { justify-content: center; }
.hyp-button-wrap--end { justify-content: flex-end; }
.subnav__cta.btn { flex: none; }

/* Pricing plans */
.plans { display: grid; gap: var(--space-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); align-items: stretch; }
@media (min-width: 1100px) { .plans { grid-template-columns: repeat(var(--plans, 3), minmax(0, 1fr)); } }
.plan { position: relative; display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius-lg); }
.plan--featured { border: 2px solid var(--color-action); box-shadow: var(--shadow-card); }
.plan__badge { position: absolute; top: -12px; inset-inline-start: var(--space-6); padding: .2rem .7rem; border-radius: 999px; background: var(--color-brand); color: #fff; font-size: .75rem; font-weight: 700; letter-spacing: .02em; }
.plan__name { font-size: 1.25rem; }
.plan__price { color: var(--color-ink); font-size: 2rem; font-weight: 600; line-height: 1.1; }
.plan__price .plan__period, .plan__price .subscription-details { color: var(--color-muted); font-size: .9375rem; font-weight: 400; }
.plan__price del { color: var(--color-muted); font-size: .6em; font-weight: 400; }
.plan__price ins { text-decoration: none; }
.plan__text { color: var(--color-muted); }
.plan__features { margin-top: var(--space-2); }
.plan__more { margin-top: auto; font-weight: 600; font-size: var(--text-sm); }
.plans__note { margin-top: var(--space-5); text-align: center; }

/* Header and footer building blocks inside Elementor templates */
.site-block--menus { display: grid; gap: var(--space-6); grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.site-block a { color: var(--color-text); text-decoration: none; }
.site-block a:hover { color: var(--color-action); text-decoration: underline; }
.site-block .site-footer__base { border-top: 0; padding-top: 0; }
.site-block--dark, .site-block--dark .site-footer__text, .site-block--dark .site-footer__base { color: var(--color-on-night-muted); }
.site-block--dark h2, .site-block--dark .site-footer__heading { color: #fff; }
.site-block--dark a { color: var(--color-on-night); }
.site-block--dark .social a { background: rgba(255, 255, 255, .08); color: #fff; }
.hyp-part--footer .site-footer { margin-top: 0; }

/* Chat plugins (Theme Options → Company & contact → Chat): room for their bubble */
.hyp-chat-widget .to-top { bottom: 100px; }
@media (max-width: 1023px) {
  .hyp-chat-widget #tidio-chat-iframe { bottom: 64px !important; }
  .hyp-chat-widget .to-top { bottom: 150px; }
}

/* Contact Form 7 in the HYP design */
.hyp-cf7 .wpcf7 { margin: 0; }
.hyp-cf7 .wpcf7-form-control-wrap { display: block; }
.hyp-cf7 .field .wpcf7-form-control:not(.wpcf7-submit) { width: 100%; min-height: 46px; padding: .6rem .8rem; background: #fff; color: var(--color-ink); border: 1px solid var(--color-line-strong); border-radius: var(--radius-xs); font: inherit; font-size: 1rem; }
.hyp-cf7 .field textarea.wpcf7-form-control { min-height: 110px; resize: vertical; }
.hyp-cf7 .field .wpcf7-form-control:focus { outline: none; border-color: var(--color-action); box-shadow: 0 0 0 3px rgba(11, 90, 112, .16); }
.hyp-cf7 .wpcf7-not-valid { border-color: #B3261E !important; }
.hyp-cf7 .wpcf7-not-valid-tip { margin-top: .3rem; color: #B3261E; font-size: var(--text-sm); }
.hyp-cf7 .wpcf7-spinner { margin: 0 0 0 .5rem; }
.hyp-cf7 .wpcf7 form .wpcf7-response-output { margin: var(--space-4) 0 0; padding: .8rem 1rem; border: 0; border-radius: var(--radius-xs); background: #E4F3EA; color: #1C6B3E; font-weight: 500; }
.hyp-cf7 .wpcf7 form.invalid .wpcf7-response-output, .hyp-cf7 .wpcf7 form.failed .wpcf7-response-output, .hyp-cf7 .wpcf7 form.spam .wpcf7-response-output, .hyp-cf7 .wpcf7 form.unaccepted .wpcf7-response-output { background: #FBEAEA; color: #8A1C17; }
.hyp-cf7 .wpcf7 form.init .wpcf7-response-output, .hyp-cf7 .wpcf7 form.resetting .wpcf7-response-output, .hyp-cf7 .wpcf7 form.submitting .wpcf7-response-output { display: none; }
.hyp-cf7 p:empty, .hyp-cf7 .form__grid > br, .hyp-cf7 .form__foot > br { display: none; }
.hyp-cf7 .form__grid p, .hyp-cf7 .field p { margin: 0; }
.hyp-cf7--newsletter .subscribe { display: flex; gap: var(--space-2); }
.hyp-cf7--newsletter .subscribe .wpcf7-form-control-wrap { flex: 1; }
.hyp-cf7--newsletter .subscribe input[type=email] { width: 100%; min-height: 46px; padding: .6rem .8rem; border: 1px solid var(--color-line-strong); border-radius: var(--radius-xs); font: inherit; }
.hyp-cf7--newsletter .wpcf7-spinner { display: none; }
.hyp-cf7--newsletter .subscribe > p { display: flex; gap: var(--space-2); width: 100%; margin: 0; }
.hyp-cf7 .subscribe input.btn, .hyp-cf7 input[type=submit].btn { width: auto; min-width: 0; min-height: var(--btn-h, 42px); border: var(--btn-bw, 1.5px) solid transparent; background: var(--btn-primary-bg, var(--color-action)); color: var(--btn-primary-fg, #fff); font-weight: var(--btn-fw, 600); cursor: pointer; }
.hyp-cf7 input[type=submit].btn:hover { background: var(--btn-primary-hbg, var(--color-action-strong)); }
.hyp-cf7 input[type=submit].btn--lg { min-height: var(--btn-h-lg, 50px); }
