/**
Theme Name: Astra
Theme URI: https://wpastra.com/
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Version: 4.11.15
Requires at least: 5.3
WC requires at least: 3.0
WC tested up to: 9.6
Tested up to: 6.8
Requires PHP: 5.3
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra
Domain Path: /languages
Tags: custom-menu, custom-logo, entertainment, one-column, two-columns, left-sidebar, e-commerce, right-sidebar, custom-colors, editor-style, featured-images, full-width-template, microformats, post-formats, rtl-language-support, theme-options, threaded-comments, translation-ready, blog
AMP: true

Astra WordPress Theme, Copyright 2020 WPAstra.
Astra is distributed under the terms of the GNU GPL.

Astra is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of.
Nicolas Gallagher and Jonathan Neal https://necolas.github.com/normalize.css/

Astra icon font is based on IcoMoon-Free vector icon by Keyamoon.
IcoMoon-Free vector icon distributed under terms of CC BY 4.0 or GPL. (https://creativecommons.org/licenses/by/4.0/ or https://www.gnu.org/licenses/gpl.html)
Source: http://keyamoon.com/

Flexibility is a JavaScript polyfill for Flexbox By Jonathan Neal, 10up. (https://github.com/jonathantneal/flexibility)
Licensed under MIT ( https://github.com/jonathantneal/flexibility/blob/master/LICENSE.md )

Screenshot image is a collage of actual sites created using the Astra WordPress Theme.

Icons used in the Screenshot image are all licensed under Creative Commons ( CC BY 4.0 ) License ( https://fontawesome.com/license/free )
https://fontawesome.com/v5.15/icons/store?style=solid
https://fontawesome.com/v5.15/icons/shopping-cart?style=solid
https://fontawesome.com/v5.15/icons/pen-square?style=solid
https://fontawesome.com/v5.15/icons/user-tie?style=solid
https://fontawesome.com/v5.15/icons/user-tie?style=solid

Illustrations used in the Screenshot images are all licensed under Creative Commons ( CC0 ) License ( https://gumroad.com/l/humaaans )
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/standing-24.png
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/sitting-2.png

Hand-drawn illustrations used are created by Brainstorm Force and released under Creative Commons ( CC0 ) License.
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/girl-with-image-container.png
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/boy-with-code-container.png
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/web-browser.png

The same site as screenshot can be imported from here https://websitedemos.net/web-design-agency-08/.

For more information, refer to this document on how to create a page like in the screenshot - https://wpastra.com/docs/replicating-the-screenshot/.

Astra default breadcrumb is based on Breadcrumb Trail by Justin Tadlock. (https://github.com/justintadlock/breadcrumb-trail)
Breadcrumb Trail is distributed under the terms of the GNU GPL v2 or later.

Astra local fonts feature is based on Webfonts Loader by WordPress Themes Team (WPTT). (https://github.com/WPTT/webfont-loader)
Licensed under MIT ( https://github.com/WPTT/webfont-loader/blob/master/LICENSE )

/* Note: The CSS files are loaded from assets/css/ folder. */
/*
Theme Name: Twenty Twenty-Five Child
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Template: twentytwentyfive
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Tags: one-column,custom-colors,custom-menu,custom-logo,editor-style,featured-images,full-site-editing,block-patterns,rtl-language-support,sticky-post,threaded-comments,translation-ready,wide-blocks,block-styles,style-variations,accessibility-ready,blog,portfolio,news
Version: 1.5.1780390001
Updated: 2026-06-02 00:00:00

*/

:root {
  --sl-cream: #fbf7f0;
  --sl-paper: #fffdf9;
  --sl-ink: #251b18;
  --sl-muted: #7f746d;
  --sl-line: #ded4c7;
  --sl-copper: #9d6b45;
  --sl-gold: #c9952f;
  --sl-sage: #5f765c;
  --sl-sage-soft: #aebbac;
  --sl-shadow: 0 22px 45px rgba(63, 45, 31, 0.09);
}

body:has(.sl-quote-form) {
  background: var(--sl-cream);
}

body:has(.sl-quote-form) .wp-block-post-title {
  display: none;
}

body:has(.sl-quote-form) .wp-site-blocks > header.wp-block-template-part,
body:has(.sl-quote-form) .wp-site-blocks > footer.wp-block-template-part {
  display: none;
}

body:has(.sl-quote-form) .entry-content,
body:has(.sl-quote-form) .entry-content > .wpcf7,
body:has(.sl-quote-form) .wp-block-group {
  max-width: none !important;
}

body:has(.sl-quote-form) .entry-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body:has(.sl-quote-form) .wp-block-group {
  padding-top: 0 !important;
}

.sl-quote-form {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(34px, 5vw, 74px) 22px 82px;
  color: var(--sl-ink);
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  box-sizing: border-box;
}

.sl-quote-form *,
.sl-quote-form *::before,
.sl-quote-form *::after {
  box-sizing: border-box;
}

.sl-quote-form button {
  font: inherit;
  color: inherit;
}

.sl-quote-hero {
  text-align: center;
  margin-bottom: 54px;
}

.sl-quote-hero h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(46px, 8vw, 96px);
  font-weight: 500;
  line-height: 0.9;
  letter-spacing: 0;
}

.sl-quote-hero em {
  color: var(--sl-copper);
  font-style: italic;
}

.sl-quote-hero p,
.sl-section-title p,
.sl-option-block > p,
.sl-reservation > p {
  max-width: 760px;
  margin: 24px auto 0;
  color: #3f3935;
  font-size: 18px;
  line-height: 1.45;
}

.sl-quote-steps {
  display: grid;
  grid-template-columns: 68px minmax(50px, 1fr) 68px minmax(50px, 1fr) 68px minmax(50px, 1fr) 68px;
  align-items: start;
  gap: 20px;
  width: 100%;
  max-width: 760px;
  margin: 0 auto 78px;
}

.sl-quote-steps button {
  min-width: 0;
  display: grid;
  gap: 9px;
  justify-items: center;
  border: 0;
  background: transparent;
  padding: 0;
  text-transform: uppercase;
  color: #9a8d82;
  font-size: 12px;
  letter-spacing: .08em;
  cursor: pointer;
}

.sl-quote-steps span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--sl-line);
  border-radius: 50%;
  background: var(--sl-paper);
  color: #927158;
  font-size: 15px;
  letter-spacing: 0;
}

.sl-quote-steps i {
  display: block;
  height: 1px;
  margin-top: 17px;
  background: var(--sl-line);
}

.sl-quote-steps .is-active,
.sl-quote-steps .is-complete {
  color: var(--sl-copper);
  font-weight: 700;
}

.sl-quote-steps .is-active span,
.sl-quote-steps .is-complete span {
  color: #fff;
  border-color: var(--sl-copper);
  background: var(--sl-copper);
}

.sl-section-title {
  text-align: center;
  margin-bottom: 54px;
}

.sl-section-title h2,
.sl-formula-group h3,
.sl-option-block h3,
.sl-reservation h2,
.sl-reservation h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: 0;
}

.sl-section-title h2 {
  color: #20243a;
  font-size: clamp(31px, 4vw, 42px);
}

.sl-section-title p {
  margin-top: 12px;
  color: var(--sl-muted);
  font-size: 17px;
}

.sl-equipment-grid,
.sl-option-grid,
.sl-color-grid {
  display: grid;
  gap: 28px;
}

.sl-equipment-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sl-equipment-card,
.sl-plan-card,
.sl-option-card,
.sl-color-card {
  position: relative;
  display: block;
  width: 100%;
  border: 1px solid var(--sl-line);
  border-radius: 18px;
  background: var(--sl-paper);
  text-align: left;
  cursor: pointer;
  box-shadow: 0 12px 32px rgba(72, 54, 38, 0.05);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

.sl-equipment-card > input,
.sl-plan-card > input,
.sl-option-card > input,
.sl-color-card > input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.sl-equipment-card:focus-within,
.sl-plan-card:focus-within,
.sl-option-card:focus-within,
.sl-color-card:focus-within {
  outline: 2px solid rgba(95, 118, 92, 0.45);
  outline-offset: 4px;
}

.sl-equipment-card:hover,
.sl-plan-card:hover,
.sl-option-card:hover,
.sl-color-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--sl-shadow);
}

.sl-equipment-card.is-selected,
.sl-plan-card.is-selected,
.sl-option-card.is-selected,
.sl-color-card.is-selected {
  border-color: var(--sl-copper);
  box-shadow: 0 0 0 2px rgba(157, 107, 69, 0.16), var(--sl-shadow);
}

.sl-equipment-card::after,
.sl-plan-card::after,
.sl-option-card::after,
.sl-color-card::after {
  content: "";
  position: absolute;
  right: 24px;
  bottom: 24px;
  width: 22px;
  height: 22px;
  border: 1px solid #d7cabd;
  border-radius: 50%;
  background: #fff;
}

.sl-equipment-card.is-selected::after,
.sl-plan-card.is-selected::after,
.sl-option-card.is-selected::after,
.sl-color-card.is-selected::after {
  border-color: var(--sl-copper);
  background: radial-gradient(circle at 50% 50%, var(--sl-copper) 0 42%, #fff 45%);
}

.sl-card-image {
  display: block;
  min-height: 250px;
  border-radius: 18px 18px 0 0;
  background-size: cover;
  background-position: center;
}

.sl-card-image b {
  position: absolute;
  top: 20px;
  right: 18px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #fff8ed;
  color: var(--sl-copper);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.sl-card-image--photobooth { background-image: linear-gradient(25deg, rgba(75,50,29,.2), rgba(255,224,173,.18)), url("https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=900&q=80"); }
.sl-card-image--video { background-image: linear-gradient(25deg, rgba(255,245,218,.2), rgba(154,104,62,.22)), url("https://images.unsplash.com/photo-1527529482837-4698179dc6ce?auto=format&fit=crop&w=900&q=80"); }
.sl-card-image--audio { background-image: linear-gradient(25deg, rgba(28,22,18,.18), rgba(255,255,255,.02)), url("https://images.unsplash.com/photo-1519681393784-d120267933ba?auto=format&fit=crop&w=900&q=80"); }
.sl-card-image--prints { background-image: linear-gradient(25deg, rgba(80,56,32,.18), rgba(255,255,255,.05)), url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=700&q=80"); }
.sl-card-image--template { background-image: linear-gradient(25deg, rgba(54,52,46,.12), rgba(255,255,255,.1)), url("https://images.unsplash.com/photo-1532712938310-34cb3982ef74?auto=format&fit=crop&w=700&q=80"); }
.sl-card-image--screen { background-image: linear-gradient(25deg, rgba(70,45,28,.16), rgba(255,255,255,.1)), url("https://images.unsplash.com/photo-1511795409834-ef04bbd61622?auto=format&fit=crop&w=700&q=80"); }
.sl-card-image--filters { background-image: linear-gradient(25deg, rgba(17,22,22,.2), rgba(255,255,255,.05)), url("https://images.unsplash.com/photo-1529636798458-92182e662485?auto=format&fit=crop&w=700&q=80"); }
.sl-card-image--usb { background-image: linear-gradient(25deg, rgba(117,74,36,.16), rgba(255,255,255,.08)), url("https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?auto=format&fit=crop&w=700&q=80"); }
.sl-card-image--neon,
.sl-card-image--custom-neon { background-image: linear-gradient(25deg, rgba(29,18,11,.2), rgba(244,189,66,.14)), url("https://images.unsplash.com/photo-1503435824048-a799a3a84bf7?auto=format&fit=crop&w=700&q=80"); }
.sl-card-image--green { background: linear-gradient(135deg, #15361f, #496947); }

.sl-equipment-card strong {
  display: block;
  padding: 26px 28px 0;
  font-size: 28px;
  line-height: 1.15;
}

.sl-equipment-card small {
  display: block;
  padding: 14px 28px 18px;
  color: var(--sl-copper);
  font-size: 18px;
  font-weight: 800;
}

.sl-equipment-card ul {
  margin: 0 28px 36px;
  padding: 22px 0 0 18px;
  border-top: 1px solid #eee4d8;
  color: #64564c;
  line-height: 1.5;
}

.sl-equipment-card li + li {
  margin-top: 12px;
}

.sl-equipment-card li::marker {
  color: var(--sl-gold);
}

.sl-formula-group,
.sl-option-block {
  max-width: 920px;
  margin: 0 auto 52px;
}

.sl-formula-group h3,
.sl-option-block h3 {
  display: inline-block;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--sl-line);
  font-size: 27px;
}

.sl-plan-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}

.sl-plan-card {
  min-height: 250px;
  padding: 32px;
}

.sl-plan-card--wide {
  max-width: 620px;
}

.sl-plan-card > span {
  position: absolute;
  top: -16px;
  left: 32px;
  padding: 8px 18px;
  border-radius: 999px;
  background: var(--sl-gold);
  color: white;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.sl-plan-card strong {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 500;
}

.sl-plan-card b {
  color: var(--sl-copper);
  font-family: Inter, Arial, sans-serif;
  font-size: 27px;
}

.sl-plan-card p,
.sl-option-card p {
  color: #5c514b;
  line-height: 1.5;
}

.sl-plan-card ul {
  margin-top: 28px;
  color: #5f554e;
  line-height: 1.9;
}

.sl-plan-card li::marker {
  content: "✓  ";
  color: var(--sl-sage);
}

.sl-option-grid,
.sl-color-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sl-option-grid--small {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 620px;
}

.sl-option-card {
  overflow: hidden;
  min-height: 235px;
  padding-bottom: 54px;
}

.sl-option-card .sl-card-image {
  min-height: 132px;
  border-radius: 16px 16px 0 0;
}

.sl-option-card strong,
.sl-option-card p,
.sl-option-card small {
  display: block;
  padding-inline: 18px;
}

.sl-option-card strong {
  margin-top: 16px;
  font-size: 15px;
}

.sl-option-card p {
  min-height: 42px;
  margin: 7px 0 0;
  font-size: 13px;
}

.sl-option-card small {
  position: absolute;
  left: 18px;
  bottom: 18px;
  color: var(--sl-copper);
  font-size: 15px;
  font-weight: 800;
}

.sl-color-card {
  min-height: 210px;
  padding: 130px 18px 54px;
  overflow: hidden;
}

.sl-color-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 118px;
  background: radial-gradient(ellipse at center, rgba(255,255,255,.7) 0 20%, transparent 21%), var(--phone-color);
}

.sl-color-card--beige { --phone-color: #d8c4a5; }
.sl-color-card--black { --phone-color: #181818; }
.sl-color-card--green { --phone-color: #74864b; }
.sl-color-card--blue { --phone-color: #87acb2; }
.sl-color-card--red { --phone-color: #bf1f2c; }
.sl-color-card--yellow { --phone-color: #e9b83d; }

.sl-color-card strong,
.sl-color-card small {
  display: block;
}

.sl-color-card small {
  position: absolute;
  left: 18px;
  bottom: 18px;
  color: var(--sl-copper);
  font-weight: 800;
}

.sl-delivery-icon {
  display: grid;
  place-items: center;
  height: 118px;
  background: linear-gradient(180deg, #e7cda9, #f6e7d1);
  color: var(--sl-sage);
  font-size: 52px;
  font-weight: 900;
}

.sl-step-actions {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  max-width: 920px;
  margin: 64px auto 0;
  padding-top: 36px;
  border-top: 1px solid var(--sl-line);
}

.sl-primary,
.sl-secondary,
.sl-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 62px;
  border-radius: 999px;
  padding: 0 42px;
  border: 0;
  font-weight: 800;
  text-decoration: none;
}

.sl-primary,
.sl-secondary,
.sl-submit {
  background: var(--sl-sage);
  color: white;
}

.sl-secondary {
  background: var(--sl-sage);
}

.sl-submit {
  width: 100%;
  margin-top: 28px;
  background: var(--sl-sage-soft);
  font-size: 17px;
}

.sl-secondary--full {
  width: 100%;
  margin-top: 20px;
  border: 1px solid var(--sl-line);
  background: #fff;
  color: var(--sl-ink);
}

.sl-reservation {
  max-width: 640px;
  margin: 0 auto;
  border: 1px solid var(--sl-line);
  border-radius: 22px;
  background: var(--sl-paper);
  box-shadow: var(--sl-shadow);
  overflow: hidden;
}

.sl-reservation header {
  padding: 36px;
  background: #1e1713;
  color: white;
  text-align: center;
}

.sl-reservation header h2 {
  color: #20243a;
  font-size: 26px;
}

.sl-reservation header p {
  margin: 8px 0 0;
  color: #e6ddd2;
}

.sl-reservation > :not(header) {
  margin-inline: 32px;
}

.sl-summary {
  margin-top: 32px;
}

.sl-summary-row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px dashed var(--sl-line);
}

.sl-summary-row strong,
.sl-summary-row small {
  display: block;
}

.sl-summary-row small {
  margin-top: 6px;
  color: #b2a69b;
}

.sl-summary-row b,
.sl-total b {
  color: var(--sl-copper);
}

.sl-total {
  display: flex;
  justify-content: space-between;
  margin-top: 12px;
  padding: 24px 0 12px;
  border-top: 2px solid #1e1713;
  border-bottom: 1px solid var(--sl-line);
  font-size: 18px;
}

.sl-total b {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  font-weight: 500;
}

.sl-reservation h3 {
  margin-top: 0;
  font-size: 25px;
}

.sl-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.sl-reservation label {
  display: block;
  margin-top: 22px;
  color: #413832;
  font-weight: 800;
}

.sl-reservation input,
.sl-reservation textarea,
.sl-reservation select {
  width: 100%;
  min-height: 48px;
  margin-top: 9px;
  border: 1px solid #d8cdbf;
  border-radius: 8px;
  padding: 12px 15px;
  background: #fff;
  color: var(--sl-ink);
  font: inherit;
  box-sizing: border-box;
}

.sl-reservation textarea {
  min-height: 110px;
  resize: vertical;
}

.sl-quiz {
  margin-top: 28px;
  padding: 22px;
  border: 1px solid #dfd2c2;
  border-radius: 9px;
  background: #f2eadf;
}

.sl-quiz strong,
.sl-quiz small {
  display: block;
}

.sl-quiz .wpcf7-form-control-wrap {
  display: inline-block;
  width: 100%;
  margin: 12px 0 0 10px;
}

.sl-reservation .wpcf7-spinner {
  display: block;
  margin: 14px auto 0;
}

.sl-reservation .wpcf7-response-output {
  margin: 22px 0 0 !important;
  border-radius: 8px;
}

.is-shaking {
  animation: sl-shake .42s ease;
}

@keyframes sl-shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-8px); }
  50% { transform: translateX(8px); }
  75% { transform: translateX(-4px); }
}

@media (max-width: 900px) {
  .sl-equipment-grid,
  .sl-plan-grid,
  .sl-option-grid,
  .sl-color-grid,
  .sl-option-grid--small {
    grid-template-columns: 1fr;
  }

  .sl-quote-steps {
    display: flex;
    justify-content: space-between;
    gap: 0;
    width: min(330px, calc(100vw - 32px)) !important;
    max-width: min(330px, calc(100vw - 32px));
  }

  .sl-quote-steps button {
    width: 58px;
  }

  .sl-quote-steps i {
    display: none;
  }

  .sl-step-actions {
    flex-direction: column-reverse;
  }
}

@media (max-width: 640px) {
  .sl-quote-form {
    padding-inline: 16px;
    max-width: 100vw;
    overflow: hidden;
  }

  .sl-quote-hero {
    margin-bottom: 36px;
  }

  .sl-quote-hero h1 {
    font-size: 45px;
    line-height: 0.98;
  }

  .sl-quote-hero p {
    max-width: 330px;
    font-size: 15px;
  }

  .sl-section-title p {
    max-width: 330px;
  }

  .sl-quote-steps {
    margin-bottom: 44px;
  }

  .sl-quote-steps small {
    font-size: 9px;
  }

  .sl-card-image {
    min-height: 210px;
  }

  .sl-equipment-card,
  .sl-plan-card,
  .sl-option-card,
  .sl-color-card {
    width: calc(100vw - 32px);
    max-width: calc(100vw - 32px);
  }

  .sl-card-image b {
    right: auto;
    left: 10px;
    max-width: calc(100% - 20px);
    white-space: nowrap;
  }

  .sl-field-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .sl-reservation > :not(header) {
    margin-inline: 18px;
  }

  .sl-summary-row,
  .sl-total {
    align-items: flex-start;
    flex-direction: column;
  }

  .sl-primary,
  .sl-secondary,
  .sl-submit {
    width: 100%;
    padding-inline: 22px;
  }
}

/* Public Selfie Life visual charter overrides */
:root {
  --sl-site-primary: #6050dc;
  --sl-site-primary-dark: #3b2fb2;
  --sl-site-ink: #000000;
  --sl-site-text: #3f444b;
  --sl-site-muted: #69727d;
  --sl-site-line: #e5e5e5;
  --sl-site-soft: #f5f5f5;
  --sl-site-paper: #ffffff;
  --sl-site-gold: #c9952f;
  --sl-site-shadow: 0 18px 45px rgba(0, 0, 0, 0.08);
}

body:has(.sl-quote-form) {
  background: var(--sl-site-paper);
}

.sl-quote-form {
  max-width: 1280px;
  padding: clamp(42px, 5vw, 78px) 22px 90px;
  color: var(--sl-site-ink);
  font-family: "Roboto", Arial, sans-serif;
}

.sl-quote-hero {
  max-width: 980px;
  margin-inline: auto;
}

.sl-quote-hero h1,
.sl-section-title h2,
.sl-formula-group h3,
.sl-option-block h3,
.sl-reservation h2,
.sl-reservation h3,
.sl-plan-card strong,
.sl-total b {
  font-family: "Roboto Slab", "Roboto", Arial, sans-serif;
  font-weight: 400;
}

.sl-quote-hero h1 {
  color: var(--sl-site-ink);
  font-size: clamp(42px, 6vw, 76px);
  line-height: 1.05;
}

.sl-quote-hero em {
  color: var(--sl-site-primary);
}

.sl-quote-hero p,
.sl-section-title p,
.sl-option-block > p,
.sl-reservation > p {
  color: var(--sl-site-text);
  font-size: 18px;
  line-height: 1.55;
}

.sl-quote-steps {
  max-width: 820px;
  margin-bottom: 72px;
}

.sl-quote-steps button {
  color: var(--sl-site-muted);
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 500;
  letter-spacing: 0;
}

.sl-quote-steps span {
  width: 38px;
  height: 38px;
  border-color: var(--sl-site-line);
  background: var(--sl-site-paper);
  color: var(--sl-site-primary);
  font-weight: 600;
}

.sl-quote-steps i {
  background: var(--sl-site-line);
}

.sl-quote-steps .is-active,
.sl-quote-steps .is-complete {
  color: var(--sl-site-primary);
}

.sl-quote-steps .is-active span,
.sl-quote-steps .is-complete span {
  border-color: var(--sl-site-primary);
  background: var(--sl-site-primary);
  color: #fff;
}

.sl-section-title {
  margin-bottom: 46px;
}

.sl-section-title h2 {
  color: var(--sl-site-ink);
  font-size: clamp(30px, 3.7vw, 48px);
  line-height: 1.14;
}

.sl-section-title p {
  color: var(--sl-site-muted);
}

.sl-equipment-card,
.sl-plan-card,
.sl-option-card,
.sl-color-card,
.sl-reservation {
  border-color: var(--sl-site-line);
  border-radius: 10px;
  background: var(--sl-site-paper);
  box-shadow: 0 8px 26px rgba(0, 0, 0, 0.045);
}

.sl-equipment-card:focus-within,
.sl-plan-card:focus-within,
.sl-option-card:focus-within,
.sl-color-card:focus-within {
  outline-color: rgba(96, 80, 220, 0.35);
}

.sl-equipment-card:hover,
.sl-plan-card:hover,
.sl-option-card:hover,
.sl-color-card:hover {
  box-shadow: var(--sl-site-shadow);
}

.sl-equipment-card.is-selected,
.sl-plan-card.is-selected,
.sl-option-card.is-selected,
.sl-color-card.is-selected {
  border-color: var(--sl-site-primary);
  box-shadow: 0 0 0 2px rgba(96, 80, 220, 0.16), var(--sl-site-shadow);
}

.sl-equipment-card::after,
.sl-plan-card::after,
.sl-option-card::after,
.sl-color-card::after {
  border-color: #d9d9d9;
}

.sl-equipment-card.is-selected::after,
.sl-plan-card.is-selected::after,
.sl-option-card.is-selected::after,
.sl-color-card.is-selected::after {
  border-color: var(--sl-site-primary);
  background: radial-gradient(circle at 50% 50%, var(--sl-site-primary) 0 42%, #fff 45%);
}

.sl-card-image {
  border-radius: 10px 10px 0 0;
}

.sl-card-image b,
.sl-plan-card > span {
  background: var(--sl-site-primary);
  color: #fff;
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 600;
  letter-spacing: 0;
}

.sl-equipment-card strong {
  color: var(--sl-site-ink);
  font-size: 27px;
  font-weight: 600;
}

.sl-equipment-card small,
.sl-option-card small,
.sl-color-card small,
.sl-summary-row b,
.sl-total b,
.sl-plan-card b {
  color: var(--sl-site-primary);
}

.sl-equipment-card ul,
.sl-plan-card p,
.sl-option-card p,
.sl-plan-card ul {
  color: var(--sl-site-text);
}

.sl-equipment-card li::marker,
.sl-plan-card li::marker {
  color: var(--sl-site-primary);
}

.sl-formula-group h3,
.sl-option-block h3 {
  border-bottom-color: var(--sl-site-primary);
  color: var(--sl-site-ink);
}

.sl-plan-card strong {
  color: var(--sl-site-ink);
}

.sl-primary,
.sl-secondary,
.sl-submit {
  min-height: 56px;
  border-radius: 6px;
  background: var(--sl-site-ink);
  color: #fff !important;
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 600;
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}

.sl-submit{
    background: var(--sl-site-primary) !important;
    width: auto !important;
}

.wrap-submit{
    display: flex;
    align-items: center;
    margin: 25px auto;
}

.sl-primary:hover,
.sl-secondary:hover,
.sl-submit:hover {
  background: var(--sl-site-primary);
  box-shadow: 0 12px 26px rgba(96, 80, 220, 0.22);
  transform: translateY(-1px);
}

.sl-secondary--full {
  border-color: var(--sl-site-line);
  background: #fff;
  color: var(--sl-site-ink);
}

.sl-secondary--full:hover {
  color: #fff;
}

.sl-reservation {
  max-width: 700px;
  overflow: hidden;
}

.sl-reservation header {
  background: var(--sl-site-ink);
}

.sl-reservation header h2 {
  color: #fff;
}

.sl-reservation header p {
  color: rgba(255, 255, 255, 0.78);
}

.sl-total {
  border-top-color: var(--sl-site-ink);
}

.sl-reservation label {
  color: var(--sl-site-ink);
  font-weight: 600;
}

.sl-reservation input,
.sl-reservation textarea,
.sl-reservation select {
  border-color: #d9d9d9;
  border-radius: 6px;
  color: var(--sl-site-ink);
}

.sl-reservation input:focus,
.sl-reservation textarea:focus,
.sl-reservation select:focus {
  border-color: var(--sl-site-primary);
  box-shadow: 0 0 0 3px rgba(96, 80, 220, 0.13);
  outline: 0;
}

.sl-quiz {
  border-color: #dedbf8;
  border-radius: 8px;
  background: #f7f6ff;
}

.sl-delivery-icon {
  background: linear-gradient(135deg, var(--sl-site-primary), var(--sl-site-primary-dark));
  color: #fff;
}

@media (max-width: 640px) {
  .sl-quote-form {
    padding-top: 32px !important;
    padding-inline: 22px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip;
  }

  .sl-step {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  .sl-quote-hero h1 {
    font-size: 39px;
  }

  .sl-quote-hero p,
  .sl-section-title p {
    width: 100%;
    max-width: 320px;
    overflow-wrap: anywhere;
  }

  .sl-equipment-grid,
  .sl-plan-grid,
  .sl-option-grid,
  .sl-color-grid,
  .sl-option-grid--small {
    width: 100%;
  }

  .sl-equipment-card,
  .sl-plan-card,
  .sl-option-card,
  .sl-color-card {
    justify-self: center;
    width: min(100%, calc(100vw - 44px)) !important;
    max-width: calc(100vw - 44px) !important;
    border-radius: 8px;
  }

  .sl-card-image {
    width: 100%;
  }
}