/*
	Theme Name: Hello Elementor
	Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
	Author: Elementor Team
	Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
	Version: 3.4.9
	Stable tag: 3.4.9
	Requires at least: 6.0
	Tested up to: 6.8
	Requires PHP: 7.4
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: hello-elementor
	Tags: accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready,
*/

 .steps{
    display:grid;
    grid-template-columns:1fr auto 1fr auto 1fr;
    align-items:center;
    gap:16px;
    padding:22px 0 28px;
    border-bottom:1px solid var(--line-2);
  }

  .step-pill{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    color:#a56e15;
    font-size:15px;
    font-weight:800;
  }

  .step-num{
    width:32px;
    height:32px;
    border-radius:50%;
    display:grid;
    place-items:center;
    border:2px solid #c18a2f;
    background:#ffe2a7;
    color:#7a4d0e;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
  }

  .step-pill.complete .step-num{
    background:var(--green-soft);
    border-color:#78b17f;
    color:var(--green);
  }

  .step-pill.active .step-num{
    background:var(--gold);
    color:#2b1b0a;
  }

  .chevron{
    font-size:25px;
    color:#b57b1a;
    font-weight:900;
  }

  .layout{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);
    gap:46px;
    align-items:start;
    padding-top:42px;
  }

  .showcase-grid{
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    gap:22px;
  }

  .thumb-rail{
    display:flex;
    flex-direction:column;
    gap:13px;
  }

  .gallery-thumb{
    width:82px;
    aspect-ratio:1;
    padding:0;
    border:2px solid transparent;
    border-radius:8px;
    overflow:hidden;
    background:#eee;
  }

  .gallery-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .gallery-thumb.active{
    border-color:var(--gold);
    box-shadow:0 0 0 3px var(--gold-soft);
  }

  .preview-stage{
    position:relative;
    border-radius:7px;
    overflow:hidden;
    min-height:520px;
    background:#e8e4da;
  }

  .preview-stage img{
    width:100%;
    height:100%;
    min-height:520px;
    object-fit:cover;
  }

  .gallery-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:34px;
    height:34px;
    border:none;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#fff;
    background:#ee2626;
    box-shadow:0 8px 18px rgba(0,0,0,.2);
  }

  .gallery-arrow svg{width:19px;height:19px}
  .gallery-arrow.prev{left:14px}
  .gallery-arrow.next{right:14px}

  .benefits{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
    margin-top:22px;
    border:1px solid var(--line-2);
    border-radius:8px;
    padding:14px;
    background:#fff;
  }

  .benefit{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
  }

  .benefit svg{
    width:31px;
    height:31px;
    flex:0 0 auto;
    color:#a66b25;
  }

  .benefit strong{
    display:block;
    font-size:12px;
    line-height:1.2;
  }

  .benefit span{
    display:block;
    font-size:10.5px;
    color:#62554d;
  }

  .content-block{
    margin-top:24px;
    border:1px solid var(--line-2);
    border-radius:8px;
    background:#fff;
    padding:22px;
  }

  .block-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:16px;
  }

  .block-title{
    margin:0;
    font-size:21px;
    line-height:1.2;
  }

  .rating-line{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    margin-top:8px;
    font-size:12px;
    font-weight:700;
    color:#5d5048;
  }

  .stars{color:#f4b332;letter-spacing:.06em}

  .small-controls{
    display:flex;
    gap:8px;
  }

  .icon-btn{
    width:34px;
    height:34px;
    border:0;
    border-radius:50%;
    background:#f7ead6;
    color:#8b5a17;
    display:grid;
    place-items:center;
  }

  .icon-btn svg{width:17px;height:17px}

  .reviews{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(220px,1fr);
    gap:16px;
    overflow:hidden;
    scroll-behavior:smooth;
  }

  .review-card{
    border:1px solid var(--line-2);
    border-radius:8px;
    padding:16px;
    min-height:285px;
    background:#fff;
  }

  .reviewer{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
  }

  .avatar{
    width:42px;
    height:42px;
    border-radius:50%;
    object-fit:cover;
    background:#d9d0c8;
  }

  .reviewer strong{font-size:13px;display:block}
  .reviewer span{font-size:11px;color:#786b62}
  .review-card p{font-size:12px;line-height:1.55;color:#3d342e;min-height:58px}
  .review-shot{
    width:100%;
    aspect-ratio:1.45;
    object-fit:cover;
    border-radius:7px;
    border:1px solid var(--line-2);
    margin-top:12px;
  }

  .trust-band{
    margin-top:24px;
    padding:20px;
    background:#fff5e8;
    border:1px solid var(--line);
    border-radius:8px;
  }

  .trust-title{
    text-align:center;
    font-size:19px;
    font-weight:800;
    margin-bottom:18px;
  }

  .trust-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
  }

  .trust-item{
    text-align:center;
    font-size:12px;
    color:#65574e;
  }

  .trust-item svg{
    width:34px;
    height:34px;
    color:#a66b25;
    margin:0 auto 8px;
  }

  .trust-item strong{
    display:block;
    color:#241b16;
    font-size:14px;
  }

  .how{
    margin-top:24px;
    background:#fff7eb;
    border:1px solid var(--line);
    border-radius:8px;
    padding:22px;
  }

  .how h2{
    margin:0 0 18px;
    font-size:21px;
  }

  .how-grid{
    display:grid;
    grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
    align-items:start;
    gap:10px;
  }

  .how-step{
    text-align:center;
  }

  .how-icon{
    width:62px;
    height:62px;
    border-radius:50%;
    border:1px solid var(--line);
    background:#fff;
    display:grid;
    place-items:center;
    margin:0 auto 9px;
  }

  .how-icon svg{
    width:30px;
    height:30px;
    color:#a66b25;
  }

  .how-step strong{
    display:block;
    font-size:12px;
    margin-bottom:5px;
  }

  .how-step span{
    display:block;
    font-size:11px;
    color:#6f6259;
    line-height:1.45;
  }

  .how-arrow{
    color:#a66b25;
    font-weight:900;
    padding-top:18px;
  }

  .assurance-strip{
    margin-top:18px;
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:20px;
    padding:12px 18px;
    border-radius:6px;
    background:#f3d8aa;
    font-size:12px;
    font-weight:700;
    color:#403126;
  }

  .order-column{
    position:sticky;
    top:18px;
  }

  .price-row{
    display:flex;
    align-items:baseline;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:6px;
  }

  .price-now{
    font-size:39px;
    font-weight:900;
    color:var(--gold-dark);
    display:flex;
    gap:2px;
    align-items:baseline;
  }

  .price-now .sym{font-size:23px}
  .price-was{
    font-size:18px;
    color:#928a82;
    text-decoration:line-through;
  }

  .badge-off{
    padding:5px 12px;
    border-radius:999px;
    background:var(--green-soft);
    color:var(--green);
    font-size:12px;
    font-weight:900;
  }

  h1{
    margin:0 0 12px;
    font-size:clamp(28px,3vw,37px);
    line-height:1.07;
    letter-spacing:-.02em;
  }

  .sale-ends{
    margin:0 0 6px;
    font-size:13px;
    color:var(--ink-soft);
  }

  .sale-ends strong{color:var(--red);font-weight:900}
  .subtitle{
    margin:0 0 16px;
    color:#8a7c72;
    font-size:12px;
  }

  .top-error{
    display:none;
    margin:16px 0;
    padding:13px 15px;
    border:1px solid #efc7bf;
    border-radius:8px;
    background:var(--red-soft);
    color:#b92b20;
    font-size:13px;
    line-height:1.45;
  }

  .top-error.show{display:block}

  .section{
    border:1px solid var(--line);
    border-radius:8px;
    overflow:hidden;
    margin-bottom:16px;
    background:#fff;
  }

  .section-head{
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px 14px;
    border-bottom:1px solid var(--line);
    background:var(--cream-2);
    text-transform:uppercase;
    letter-spacing:.04em;
    font-size:12px;
  }

  .section-head .step{
    color:var(--gold-dark);
    font-weight:900;
  }

  .section-head .title{font-weight:800}
  .section-body{padding:18px 16px 20px}

  .grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
  }

  .field{margin-bottom:17px}
  .grid-2 .field{margin-bottom:0}
  .field-label{
    display:block;
    margin-bottom:5px;
    font-size:13px;
    font-weight:800;
  }

  .required{color:var(--red)}
  .field-hint{
    margin:0 0 10px;
    min-height:35px;
    color:#756961;
    font-size:10.5px;
    line-height:1.45;
  }

  .dropzone{
    min-height:108px;
    border:1.5px dashed #c9b8aa;
    border-radius:7px;
    display:grid;
    place-items:center;
    text-align:center;
    padding:17px 12px;
    background:#fbfaf7;
    color:#6e625c;
    transition:border-color .15s,background .15s,transform .15s;
  }

  .dropzone:hover,.dropzone.dragover{
    border-color:var(--gold);
    background:#fff7ea;
  }

  .dropzone.dragover{transform:translateY(-1px)}
  .dropzone svg{
    width:31px;
    height:31px;
    margin:0 auto 7px;
    color:#9a8a80;
  }

  .dz-main{font-size:11px;font-weight:700}
  .dz-sub,.dz-status{
    margin-top:4px;
    font-size:10px;
    color:#9a8a80;
  }

  .thumbs{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:11px;
  }

  .thumb{
    position:relative;
    width:58px;
    height:58px;
    border:1px solid var(--line);
    border-radius:8px;
    overflow:visible;
    background:#eee;
  }

  .thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:7px;
  }

  .thumb button{
    position:absolute;
    top:-7px;
    right:-7px;
    width:22px;
    height:22px;
    border:0;
    border-radius:50%;
    background:var(--red);
    color:#fff;
    font-size:15px;
    line-height:1;
    display:grid;
    place-items:center;
  }

  .field-error{
    display:none;
    margin-top:6px;
    color:var(--red);
    font-size:11px;
  }

  .field.invalid .field-error{display:block}
  .field.invalid input,
  .field.invalid select,
  .field.invalid textarea,
  .field.invalid .dropzone{
    border-color:var(--red)!important;
  }

  input[type="text"],
  input[type="email"],
  input[type="tel"],
  select,
  textarea{
    width:100%;
    border:1px solid var(--line-2);
    border-radius:4px;
    background:#fff;
    color:var(--ink);
    padding:12px 13px;
    font-size:12px;
  }

  select{
    appearance:none;
    background-image:linear-gradient(45deg,transparent 50%,#6f6259 50%),linear-gradient(135deg,#6f6259 50%,transparent 50%);
    background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;
    background-size:5px 5px,5px 5px;
    background-repeat:no-repeat;
    padding-right:32px;
  }

  textarea{
    min-height:84px;
    resize:vertical;
    line-height:1.5;
  }

  input::placeholder,textarea::placeholder{color:#aa9d93}
  input:focus,select:focus,textarea:focus,.dropzone:focus-visible{
    outline:2px solid var(--gold);
    outline-offset:1px;
  }

  .order-summary{
    margin:2px 0 18px;
    border:1px solid var(--line-2);
    border-radius:8px;
    overflow:hidden;
    background:#fff;
  }

  .summary-row{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:10px 13px;
    border-bottom:1px solid #eee6dc;
    font-size:12px;
    color:#594e47;
  }

  .summary-row:last-child{border-bottom:0}
  .summary-row.total{
    font-size:14px;
    font-weight:900;
    color:#211812;
    background:#fff8ec;
  }

  .cta-wrap{text-align:center}

  .cta-btn{
    width:100%;
    max-width:330px;
    min-height:58px;
    border:0;
    border-radius:999px;
    background:var(--gold);
    color:#241809;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:14px 24px;
    font-size:14px;
    font-weight:900;
    box-shadow:0 12px 26px rgba(206,132,10,.27);
    transition:transform .15s,background .15s,opacity .15s;
  }

  .cta-btn:hover{background:#f0a719;transform:translateY(-1px)}
  .cta-btn:active{transform:translateY(0)}
  .cta-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}
  .cta-btn svg{width:22px;height:22px;flex:0 0 auto}

  .continue-hint{
    margin:11px 0 0;
    font-size:12px;
    color:#897d73;
  }

  .secure-line{
    margin:18px auto 8px;
    max-width:420px;
    text-align:center;
    font-size:12px;
    line-height:1.65;
    color:#473d36;
    font-weight:700;
  }

  .pay-row{
    margin:14px auto 0;
    max-width:360px;
    padding:11px 13px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:9px;
    border:1px solid var(--line-2);
    border-radius:6px;
    background:#fff;
    font-size:12px;
    font-weight:700;
  }

  .pay-badge{
    min-width:42px;
    padding:3px 7px;
    border-radius:4px;
    color:#fff;
    font-size:10px;
    line-height:1.2;
    text-align:center;
    font-weight:900;
  }

  .visa{background:#1a1f71}
  .mc{background:#eb001b}
  .stripe{background:#635bff}
  .pp{background:#003087}
  .pay-row svg{width:15px;height:15px;color:#64584f}

  .checkout-panel{
    margin-top:18px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fffdf8;
    padding:16px;
    text-align:left;
  }

  .checkout-panel h3{
    margin:0 0 6px;
    font-size:16px;
  }

  .checkout-panel p{
    margin:0 0 12px;
    color:#62564e;
    font-size:12px;
    line-height:1.5;
  }

  #paypal-button-container{min-height:42px}

  .payment-message{
    margin-top:10px;
    padding:10px 12px;
    border-radius:6px;
    background:#f5f0e8;
    color:#554a42;
    font-size:12px;
    line-height:1.45;
  }

  .payment-message.error{
    background:var(--red-soft);
    color:#a72b21;
    border:1px solid #efc7bf;
  }

  .stripe-link{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-height:42px;
    width:100%;
    border-radius:6px;
    background:#635bff;
    color:#fff;
    text-decoration:none;
    font-weight:800;
    font-size:13px;
    margin-top:8px;
  }

  .faq{
    margin-top:58px;
    background:#d9d9d9;
    border-radius:7px;
    padding:18px;
  }

  .faq h2{
    margin:0 0 13px;
    font-size:13px;
    letter-spacing:.04em;
    text-transform:uppercase;
  }

  .faq-item{margin-bottom:10px}
  .faq-item:last-child{margin-bottom:0}

  .faq-toggle{
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    min-height:45px;
    border:0;
    border-radius:4px;
    padding:10px 14px;
    background:#fff;
    text-align:left;
    color:#28211d;
    font-size:13px;
    font-weight:800;
  }

  .faq-toggle span:last-child{font-size:20px;line-height:1}

  .faq-answer{
    padding:10px 14px 2px;
    color:#554a42;
    font-size:12px;
    line-height:1.5;
  }