.navbar{background:#fff;border-bottom:1px solid var(--color-border);padding:.85rem 0;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.navbar-inner{display:flex;align-items:center;justify-content:space-between}.nav-logo{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-primary);display:flex;align-items:center;gap:.5rem}.nav-logo-icon{width:28px;height:auto;opacity:.7}.nav-logo:hover{color:var(--color-primary-dark)}.nav-phone{font-weight:500;color:var(--color-text);font-size:.95rem}.nav-phone:hover{color:var(--color-primary)}.nav-links{display:flex;gap:1.5rem;align-items:center}.nav-links a{color:var(--color-text);font-weight:500;font-size:.95rem;transition:color .2s}.nav-links a:hover{color:var(--color-primary)}.hamburger{display:none;flex-direction:column;gap:4px;background:none;padding:.5rem;border:none}.hamburger .bar{display:block;width:22px;height:2.5px;background:var(--color-text);border-radius:2px;transition:transform .3s,opacity .3s}.hamburger .bar.open:nth-child(1){transform:rotate(45deg) translate(4px,4px)}.hamburger .bar.open:nth-child(2){opacity:0}.hamburger .bar.open:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media(max-width:768px){.hamburger{display:flex}.nav-phone{display:none}.nav-links{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#fff;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md);gap:0}.nav-links.nav-open{display:flex}.nav-links a{padding:.75rem 0;border-bottom:1px solid var(--color-border);width:100%}.nav-links a:last-child{border-bottom:none}}.footer{background:var(--color-primary-dark);color:#fff;padding:3rem 0 1.5rem;margin-top:3rem}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:2rem}.footer-grid h4{font-size:1.1rem;margin-bottom:.75rem;color:#fff}.footer-grid p,.footer-grid a{color:#fffc;line-height:1.8;font-size:.95rem}.footer-grid a:hover{color:#fff}.footer-links-list{list-style:none}.footer-links-list li{margin-bottom:.25rem}.footer-links-list a{color:#fffc;transition:color .2s}.footer-links-list a:hover{color:#fff}.footer-copyright{text-align:center;border-top:1px solid rgba(255,255,255,.15);padding-top:1.5rem;color:#fff9;font-size:.9rem}@media(max-width:768px){.footer-grid{grid-template-columns:1fr;text-align:center}}.hero{background:linear-gradient(#0d4f6bbf,#1a6b8acc),url(/topsham-bridge.webp) center/cover no-repeat;color:#fff;padding:6rem 0;text-align:center;position:relative}.hero:after{content:"";position:absolute;bottom:12px;left:50%;transform:translate(-50%);font-size:.75rem;color:#ffffff80;content:"Topsham, Maine";letter-spacing:1px}.hero h1{font-size:3rem;margin-bottom:.75rem;text-shadow:0 2px 8px rgba(0,0,0,.3)}.hero .tagline{font-size:1.25rem;opacity:.9;margin-bottom:2rem;font-weight:300}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.hero-buttons button{font-size:1.05rem;padding:.85rem 2rem}.services-section{padding:4rem 0}.services-section h2{text-align:center;font-size:2rem;margin-bottom:2.5rem;color:var(--color-primary-dark)}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.service-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;border:1px solid var(--color-border)}.service-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.service-card .icon{font-size:2.5rem;margin-bottom:1rem}.service-card h3{font-size:1.25rem;margin-bottom:.5rem;color:var(--color-primary-dark)}.service-card p{color:var(--color-text-muted);line-height:1.6}.hours-section{background:#fff;margin-left:-1.5rem;margin-right:-1.5rem;padding:4rem 1.5rem}.hours-section h2{text-align:center;font-size:2rem;margin-bottom:2rem;color:var(--color-primary-dark)}.hours-table{max-width:500px;margin:0 auto;border-collapse:collapse;width:100%}.hours-table tr{border-bottom:1px solid var(--color-border)}.hours-table td{padding:.75rem 1rem}.hours-table td:first-child{font-weight:600;color:var(--color-text)}.hours-table td:last-child{text-align:right;color:var(--color-text-muted)}.location-section{padding:4rem 0}.location-section h2{text-align:center;font-size:2rem;margin-bottom:1.5rem;color:var(--color-primary-dark)}.location-content{text-align:center}.location-content .address{font-size:1.15rem;margin-bottom:1rem;color:var(--color-text)}.location-content .directions-link{display:inline-block;background:var(--color-primary);color:#fff;padding:.65rem 1.5rem;border-radius:var(--radius);font-weight:500;transition:background .2s}.location-content .directions-link:hover{background:var(--color-primary-dark);color:#fff}.insurance-section{background:#fff;text-align:center;margin-left:-1.5rem;margin-right:-1.5rem;padding:4rem 1.5rem}.insurance-section h2{font-size:2rem;margin-bottom:1rem;color:var(--color-primary-dark)}.insurance-section p{font-size:1.1rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.testimonial-section{padding:4rem 0}.testimonial-section h2{text-align:center;font-size:2rem;margin-bottom:2rem;color:var(--color-primary-dark)}.testimonial-card{max-width:600px;margin:0 auto;background:var(--color-surface);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm);border-left:4px solid var(--color-accent);text-align:center;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.testimonial-stars{color:#f5a623;font-size:1.4rem;margin-bottom:.75rem;letter-spacing:2px}.testimonial-card .quote{font-style:italic;font-size:1.1rem;color:var(--color-text);margin-bottom:1rem;line-height:1.7}.testimonial-card .author{color:var(--color-text-muted);font-weight:500}.testimonial-dots{display:flex;justify-content:center;gap:6px;margin-top:1.5rem}.testimonial-dots .dot{width:8px;height:8px;border-radius:50%;background:var(--color-border);border:none;padding:0;cursor:pointer;transition:background .2s}.testimonial-dots .dot.active{background:var(--color-primary)}@media(max-width:768px){.hero h1{font-size:2rem}.hero .tagline{font-size:1.05rem}.services-grid{grid-template-columns:1fr}.hero-buttons{flex-direction:column;align-items:center}}.appointments-page{padding:3rem 1.5rem}.appointments-page h1{text-align:center;font-size:2rem;margin-bottom:.5rem}.page-subtitle{text-align:center;color:var(--color-text-muted);margin-bottom:2.5rem}.progress-bar{display:flex;justify-content:center;gap:.5rem;margin-bottom:2rem}.progress-step{display:flex;flex-direction:column;align-items:center;gap:.4rem;flex:1;max-width:100px;position:relative}.step-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-border);color:var(--color-text-muted);font-weight:600;font-size:.875rem;transition:all .3s}.progress-step.active .step-circle{background:var(--color-primary);color:#fff;box-shadow:0 0 0 4px #1a6b8a26}.progress-step.completed .step-circle{background:var(--color-accent);color:#fff}.step-label{font-size:.75rem;color:var(--color-text-muted);text-align:center}.progress-step.active .step-label{color:var(--color-primary);font-weight:600}.step-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:2rem;max-width:700px;margin:0 auto}.step-content h2{margin-bottom:.5rem;font-size:1.4rem}.step-hint{color:var(--color-text-muted);margin-bottom:1.5rem;font-size:.9rem}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.service-option{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:1.25rem;border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);transition:all .2s}.service-option:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-sm)}.service-option.selected{border-color:var(--color-primary);background:#1a6b8a0a}.service-name{font-weight:600;font-size:1rem;color:var(--color-text)}.service-desc{font-size:.85rem;color:var(--color-text-muted);margin-top:.3rem}.date-picker-wrapper{max-width:300px}.date-picker-wrapper input[type=date]{font-size:1rem;padding:.75rem 1rem}.day-indicator{margin-top:.75rem;font-weight:500;color:var(--color-primary)}.closed-badge{color:#e53e3e;font-weight:600}.time-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem;margin-top:1rem}.time-slot{padding:.6rem .75rem;border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);font-size:.9rem;font-weight:500;transition:all .2s}.time-slot:hover{border-color:var(--color-primary-light);background:#1a6b8a08}.time-slot.selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.loading-text{color:var(--color-text-muted);font-style:italic}.closed-text{color:#e53e3e;font-weight:500}.form-fields{display:flex;flex-direction:column;gap:1.25rem;margin-top:1rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.875rem;font-weight:600;color:var(--color-text)}.confirmation-summary{margin-top:1rem;padding:1.5rem;background:var(--color-bg);border-radius:var(--radius)}.detail-row{display:flex;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--color-border)}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{font-weight:600;color:var(--color-text-muted)}.step-actions{display:flex;justify-content:space-between;margin-top:2rem;gap:1rem}.btn-secondary{background:transparent;border:2px solid var(--color-border);color:var(--color-text);padding:.75rem 1.5rem;border-radius:var(--radius);font-weight:500}.btn-secondary:hover{border-color:var(--color-primary-light);color:var(--color-primary)}.step-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.appointments-success{text-align:center;padding:3rem 2rem;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:500px;margin:2rem auto}.success-icon{width:64px;height:64px;border-radius:50%;background:var(--color-accent);color:#fff;font-size:2rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.appointments-success h2{margin-bottom:.5rem}.success-details{text-align:left;margin:1.5rem 0;padding:1.25rem;background:var(--color-bg);border-radius:var(--radius)}.conf-id{font-family:monospace;font-size:.9rem;background:var(--color-border);padding:.2rem .5rem;border-radius:4px}.success-note{color:var(--color-text-muted);font-size:.875rem;margin-top:1rem}@media(max-width:600px){.service-grid{grid-template-columns:1fr}.time-slot-grid{grid-template-columns:repeat(3,1fr)}.progress-bar{gap:.25rem}.step-label{font-size:.65rem}.step-card{padding:1.25rem}}.intake-page{padding:3rem 1.5rem}.intake-page h1{text-align:center;font-size:2rem;margin-bottom:.5rem}.intake-progress{display:flex;justify-content:center;gap:.4rem;margin-bottom:2rem;flex-wrap:wrap}.intake-step{display:flex;flex-direction:column;align-items:center;gap:.4rem;flex:1;max-width:90px}.intake-step-circle{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-border);color:var(--color-text-muted);font-weight:600;font-size:.8rem;transition:all .3s}.intake-step.active .intake-step-circle{background:var(--color-primary);color:#fff;box-shadow:0 0 0 4px #1a6b8a26}.intake-step.completed .intake-step-circle{background:var(--color-accent);color:#fff}.intake-step-label{font-size:.7rem;color:var(--color-text-muted);text-align:center}.intake-step.active .intake-step-label{color:var(--color-primary);font-weight:600}.intake-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:2rem;max-width:700px;margin:0 auto}.intake-step-content h2{margin-bottom:1.25rem;font-size:1.35rem}.intake-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.intake-form-grid .full-width{grid-column:1 / -1}.intake-form-grid .form-group{display:flex;flex-direction:column;gap:.35rem}.intake-form-grid .form-group label{font-size:.85rem;font-weight:600;color:var(--color-text)}.field-error{font-size:.8rem;color:#e53e3e;font-weight:500}.intake-form-grid input.has-error,.intake-form-grid select.has-error{border-color:#e53e3e}.insurance-toggle{margin-bottom:1.5rem}.checkbox-label{display:flex;align-items:center;gap:.6rem;cursor:pointer;font-size:.95rem}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary)}.conditions-section{margin-bottom:1rem}.section-label{font-weight:600;margin-bottom:.75rem;font-size:.9rem}.conditions-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.condition-check{padding:.6rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);transition:border-color .2s}.condition-check:hover{border-color:var(--color-primary-light)}.consent-text{background:var(--color-bg);padding:1.25rem;border-radius:var(--radius);margin-bottom:1.5rem;border-left:4px solid var(--color-primary)}.consent-text p{font-size:.9rem;line-height:1.7;color:var(--color-text)}.consent-check{font-weight:600}.intake-actions{display:flex;justify-content:space-between;margin-top:2rem;gap:1rem}.intake-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.form-error{color:#e53e3e;margin-top:1rem;font-weight:500;text-align:center}.intake-success{text-align:center;padding:3rem 2rem;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:500px;margin:2rem auto}.intake-success .success-icon{width:64px;height:64px;border-radius:50%;background:var(--color-accent);color:#fff;font-size:2rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.intake-success h2{margin-bottom:.5rem}.intake-success .success-note{color:var(--color-text-muted);font-size:.875rem;margin-top:1rem}@media(max-width:600px){.intake-form-grid,.conditions-grid{grid-template-columns:1fr}.intake-progress{gap:.2rem}.intake-step-label{font-size:.6rem}.intake-card{padding:1.25rem}}.eyewear-page{padding:3rem 0}.eyewear-page h1{text-align:center;font-size:2.25rem;color:var(--color-primary-dark);margin-bottom:.5rem}.eyewear-page .page-subtitle{text-align:center;color:var(--color-text-muted);font-size:1.1rem;margin-bottom:2.5rem}.featured-section{margin-bottom:3rem}.featured-section h2{font-size:1.5rem;color:var(--color-primary-dark);margin-bottom:1.5rem}.filter-bar{background:var(--color-surface);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:2rem;border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.type-filters{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.filter-btn{background:transparent;border:1px solid var(--color-border);padding:.5rem 1rem;border-radius:99px;font-size:.9rem;color:var(--color-text-muted);font-weight:500}.filter-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.filter-inputs{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.filter-inputs input{max-width:140px;padding:.5rem .75rem;font-size:.9rem}.btn-reset{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);font-size:.85rem;padding:.5rem 1rem}.btn-reset:hover{background:var(--color-bg)}.eyewear-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.eyewear-card{background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;position:relative}.eyewear-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.featured-badge{position:absolute;top:.75rem;right:.75rem;background:var(--color-accent);color:#fff;padding:.25rem .65rem;border-radius:99px;font-size:.75rem;font-weight:600;z-index:1}.card-image{height:160px;background:linear-gradient(135deg,var(--color-primary-light),var(--color-accent));display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;color:#fff;font-family:var(--font-heading)}.card-body{padding:1.25rem}.card-brand{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.25rem}.card-model{font-size:1.1rem;margin-bottom:.5rem;color:var(--color-text)}.card-details{font-size:.85rem;color:var(--color-text-muted);margin-bottom:.5rem}.card-price{font-size:1.15rem;font-weight:700;color:var(--color-primary-dark);margin-bottom:1rem}.btn-inquire{width:100%;font-size:.9rem;padding:.6rem}.empty-state{text-align:center;padding:3rem;color:var(--color-text-muted)}.empty-state p{margin-bottom:1rem;font-size:1.1rem}.loading-text{text-align:center;color:var(--color-text-muted);padding:2rem}.error-message{text-align:center;color:#d32f2f;padding:1rem;background:#fce4ec;border-radius:var(--radius);margin-bottom:1rem}.load-more{text-align:center;padding:2rem 0}@media(max-width:1024px){.eyewear-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.eyewear-grid{grid-template-columns:1fr}.filter-inputs{flex-direction:column}.filter-inputs input{max-width:100%}}.doctors-page{padding:3rem 0;position:relative;background:#fff}.doctors-page:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:url(/phoropter.webp) center center no-repeat;background-size:cover;opacity:.06;pointer-events:none;z-index:0}.doctors-page .container{position:relative;z-index:1}.doctors-page h1{text-align:center;font-size:2.25rem;color:var(--color-primary-dark);margin-bottom:.5rem}.doctors-page .page-subtitle{text-align:center;color:var(--color-text-muted);font-size:1.1rem;margin-bottom:3rem}.doctors-grid{display:grid;gap:2rem}.doctor-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);display:flex;gap:2rem;align-items:flex-start}.doctor-card .avatar{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;flex-shrink:0;font-family:var(--font-heading)}.doctor-info h2{font-size:1.5rem;color:var(--color-primary-dark);margin-bottom:.25rem}.doctor-info .title{color:var(--color-text-muted);font-weight:500;margin-bottom:1rem}.doctor-info .bio{color:var(--color-text);line-height:1.7;margin-bottom:1.25rem}.specialties{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.specialty-pill{background:#1a6b8a1a;color:var(--color-primary-dark);padding:.35rem .85rem;border-radius:99px;font-size:.85rem;font-weight:500}@media(max-width:768px){.doctor-card{flex-direction:column;align-items:center;text-align:center}.specialties{justify-content:center}.doctor-info{display:flex;flex-direction:column;align-items:center}}.reviews-page{padding:3rem 0}.reviews-page h1{text-align:center;font-size:2.25rem;color:var(--color-primary-dark);margin-bottom:2rem}.rating-summary{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:2.5rem}.avg-rating{font-size:3rem;font-weight:700;color:var(--color-primary-dark);font-family:var(--font-heading)}.review-count{color:var(--color-text-muted);font-size:.9rem}.stars-display .star-gold{color:#f5a623;font-size:1.25rem}.stars-display .star-gray{color:#ddd;font-size:1.25rem}.reviews-list{margin-bottom:3rem}.review-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1rem;border:1px solid var(--color-border);border-left:4px solid var(--color-accent);box-shadow:var(--shadow-sm)}.review-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.service-badge{background:#1a6b8a1a;color:var(--color-primary-dark);padding:.2rem .6rem;border-radius:99px;font-size:.8rem;font-weight:500}.source-badge{padding:.2rem .6rem;border-radius:99px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.review-card .source-badge{background:#d32f2f;color:#fff}.review-card .source-badge[data-source=google]{background:#4285f4}.review-text{color:var(--color-text);line-height:1.6;margin-bottom:.75rem}.review-text .no-text{color:var(--color-text-muted);font-size:.85rem}.review-footer{display:flex;justify-content:space-between;font-size:.85rem;color:var(--color-text-muted)}.patient-name{font-weight:600}.empty-reviews,.loading-text{text-align:center;color:var(--color-text-muted);padding:2rem}.submit-section{border-top:1px solid var(--color-border);padding-top:3rem}.submit-section h2{text-align:center;font-size:1.75rem;color:var(--color-primary-dark);margin-bottom:1.5rem}.review-form{max-width:500px;margin:0 auto}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--color-text)}.star-picker{display:flex;gap:.25rem}.star-picker .star{background:none;border:none;font-size:1.75rem;color:#ddd;padding:0;cursor:pointer;transition:color .1s}.star-picker .star.filled{color:#f5a623}.form-error{color:#d32f2f;font-size:.9rem;margin-bottom:1rem}.success-msg{text-align:center;background:#e8f5e9;color:#2e7d32;padding:1.5rem;border-radius:var(--radius-lg);font-size:1.1rem;font-weight:500}.payment-page{padding:3rem 0}.payment-page h1{text-align:center;font-size:2.25rem;color:var(--color-primary-dark);margin-bottom:.5rem}.payment-page .page-subtitle{text-align:center;color:var(--color-text-muted);font-size:1.05rem;margin-bottom:2.5rem}.payment-success{max-width:500px;margin:0 auto;text-align:center;padding:3rem;background:#e8f5e9;border-radius:var(--radius-lg);color:#2e7d32}.payment-success h2{margin-bottom:.5rem}.payment-cancelled{max-width:500px;margin:0 auto;text-align:center;padding:3rem;background:#fff8e1;border-radius:var(--radius-lg);color:#f57f17}.payment-cancelled h2{margin-bottom:.5rem}.payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.payment-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.payment-card h2{font-size:1.5rem;color:var(--color-primary-dark);margin-bottom:1.25rem}.payment-card .form-group{margin-bottom:1.25rem}.payment-card .form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--color-text)}.selected-item{background:var(--color-bg);border-radius:var(--radius);padding:1rem;margin-bottom:1.25rem;border:1px solid var(--color-border)}.selected-item p{margin-bottom:.25rem}.selected-item .item-price{font-weight:700;color:var(--color-primary-dark);font-size:1.25rem}.payment-methods{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border);font-size:.9rem;color:var(--color-text-muted)}.payment-methods .methods-list{font-weight:600;color:var(--color-text);margin-top:.25rem}.security-note{text-align:center;margin-top:2rem;color:var(--color-text-muted);font-size:.9rem}.payment-error{color:#d32f2f;background:#fce4ec;padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.9rem}@media(max-width:768px){.payment-grid{grid-template-columns:1fr}}:root{--color-primary: #1a6b8a;--color-primary-dark: #0d4f6b;--color-primary-light: #2a8fb5;--color-accent: #2ec4b6;--color-accent-light: #5ed4c9;--color-bg: #f8fafb;--color-surface: #ffffff;--color-text: #1a2b3c;--color-text-muted: #5a6b7c;--color-border: #e2e8f0;--font-heading: "Playfair Display", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--radius: 8px;--radius-lg: 12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg) url(/glasses.webp) repeat;background-size:300px;background-blend-mode:overlay;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.3}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-dark)}button{font-family:var(--font-body);cursor:pointer;border:none;border-radius:var(--radius);padding:.75rem 1.5rem;font-weight:500;transition:all .2s}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-accent{background:var(--color-accent);color:#fff}.btn-accent:hover{background:#25a99d;transform:translateY(-1px);box-shadow:var(--shadow-md)}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}main{min-height:calc(100vh - 160px)}input,select,textarea{font-family:var(--font-body);padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem;transition:border-color .2s;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary-light);box-shadow:0 0 0 3px #1a6b8a1a}
