@import "https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Lato:wght@300;400;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Alex+Brush&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@300;400;500;600&display=swap";@font-face{font-family:Tan Angleton;src:local(Times New Roman)}:root{--color-primary:#2e3a34;--color-text:#4b4f49;--color-muted:#8a8d84;--color-accent:#6e8b7b;--color-accent-2:#9cb29f;--color-accent-soft:#e4ebe2;--color-on-accent:#fff;--color-background:#faf7f2;--color-surface:#fff;--color-card:#fff;--card-border:1px solid #2e3a3414;--color-border:#2e3a341a;--color-cover-text:#fff;--cover-overlay:linear-gradient(to bottom, #141a1740, #141a1799);--shadow-card:0 18px 50px #2e3a3414;--shadow-soft:0 8px 24px #2e3a340f;--radius:16px;--font-heading:"Cormorant Garamond", serif;--font-script:"Alex Brush", cursive;--font-body:"Inter", sans-serif;--font-bodoni:"Bodoni Moda", serif;--font-tan:"Tan Angleton", serif;--names-weight:300}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-background);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-primary);font-weight:500;line-height:1.15}::selection{background:var(--color-accent);color:var(--color-on-accent)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-accent);border:2px solid var(--color-background);border-radius:10px}.section-container{flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100svh;padding:clamp(3rem,8vw,6rem) clamp(1.25rem,5vw,4rem);display:flex}.text-center{text-align:center}.section-title{font-family:var(--font-heading);color:var(--color-primary);letter-spacing:.01em;margin-bottom:2rem;font-size:clamp(2.2rem,6vw,3.5rem);font-weight:600;position:relative}.section-title:after{content:"";background-color:var(--color-accent);width:60px;height:2px;position:absolute;bottom:-.6rem;left:0}.section-title.text-center:after{left:50%;transform:translate(-50%)}.ornament{color:var(--color-accent);justify-content:center;align-items:center;gap:.9rem;display:flex}.ornament:before,.ornament:after{content:"";opacity:.6;background:currentColor;width:clamp(2.5rem,10vw,5rem);height:1px}.ornament span{font-size:.7rem;display:inline-block;transform:rotate(45deg)}.cover-section{justify-content:center;align-items:center;width:100%;height:100svh;padding:0;display:flex;position:relative;overflow:hidden}.cover-image-wrapper{z-index:1;position:absolute;inset:0}.cover-image{object-fit:cover;object-position:center;width:100%;height:100%;animation:18s ease-out forwards cover-zoom;transform:scale(1.05)}@keyframes cover-zoom{to{transform:scale(1)}}.cover-overlay{background:var(--cover-overlay);position:absolute;inset:0}.cover-content{z-index:2;text-align:center;color:var(--color-cover-text);padding:15vh 2rem 2rem;position:relative}.cover-subtitle{font-family:var(--font-body);letter-spacing:.28em;text-transform:uppercase;opacity:.85;color:var(--color-cover-text);margin-bottom:1.25rem;font-size:clamp(.78rem,2.2vw,1rem)}.cover-names{font-family:var(--font-bodoni);font-size:clamp(3.4rem,13vw,7rem);font-weight:var(--names-weight);color:var(--color-cover-text);text-shadow:0 4px 24px #00000059;margin-bottom:1.5rem;line-height:1.05}.cover-date-row{justify-content:center;align-items:center;gap:1.1rem;display:flex}.cover-rule{background:var(--color-cover-text);opacity:.7;width:clamp(1.5rem,8vw,3.5rem);height:1px}.cover-date{font-family:var(--font-heading);letter-spacing:.08em;color:var(--color-cover-text);white-space:nowrap;font-size:clamp(1.1rem,4vw,2rem);font-weight:500}.rsvp-block{margin-top:2.75rem}.btn-rsvp{-webkit-backdrop-filter:blur(10px);color:var(--color-cover-text);font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;background-color:#ffffff26;border:1px solid #fff6;border-radius:999px;padding:1rem 2.5rem;font-size:.85rem;text-decoration:none;transition:all .4s;display:inline-block}.btn-rsvp:hover{color:var(--color-primary);background-color:#fff;transform:translateY(-2px);box-shadow:0 10px 26px #0003}.cover-scroll{z-index:3;cursor:pointer;color:var(--color-cover-text);opacity:.8;background:0 0;border:none;flex-direction:column;align-items:center;gap:.2rem;transition:opacity .3s;display:flex;position:absolute;bottom:1.6rem;left:50%;transform:translate(-50%)}.cover-scroll:hover{opacity:1}.cover-scroll-text{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;font-size:.65rem}.cover-scroll-arrow{font-size:1.3rem;line-height:.6;animation:2s ease-in-out infinite cover-bounce}@keyframes cover-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@media (width<=768px){.cover-content{padding-top:26vh}.cover-names{margin-bottom:1.2rem}.rsvp-block{margin-top:2rem}}@media (prefers-reduced-motion:reduce){.cover-image,.cover-scroll-arrow{animation:none!important}.cover-image{transform:scale(1)}}.quote-section{background-color:var(--color-background);color:var(--color-text)}.quote-content{text-align:center;background:var(--color-card);border:var(--card-border);border-radius:var(--radius);max-width:820px;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(8px);padding:clamp(2.5rem,6vw,4rem) clamp(1.5rem,5vw,3.5rem);position:relative}.quote-icon{color:var(--color-accent);opacity:.35;font-size:clamp(3.5rem,9vw,5rem);line-height:1;font-family:var(--font-heading);margin-bottom:-1rem}.quote-content blockquote{position:relative}.quote-content p{font-family:var(--font-tan);color:var(--color-primary);margin-bottom:2rem;font-size:clamp(1.05rem,2.4vw,1.45rem);line-height:1.85}.quote-content footer{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);font-size:.85rem;font-weight:500}.ceremony-section{background-color:var(--color-surface);flex-direction:row;padding:0;display:flex}.ceremony-image-wrapper{background-color:var(--color-surface);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;min-height:100vh;padding:clamp(2.5rem,6vw,5rem);display:flex}.ceremony-illustration{mix-blend-mode:multiply;width:100%;max-width:460px;height:auto}.ceremony-content{background-color:var(--color-surface);flex-direction:column;flex:1;justify-content:center;padding:clamp(2.5rem,6vw,4.5rem);display:flex}.ceremony-details h3{color:var(--color-primary);margin-bottom:.9rem;font-size:clamp(1.5rem,4vw,2rem)}.ceremony-address{font-family:var(--font-body);color:var(--color-muted);margin-bottom:1.1rem;font-size:.98rem;line-height:1.5}.ceremony-time{font-family:var(--font-body);color:var(--color-accent);letter-spacing:.02em;margin-bottom:2.25rem;font-size:1.15rem;font-weight:500}.ceremony-actions{flex-wrap:wrap;gap:1rem;margin-bottom:3rem;display:flex}.btn-action{letter-spacing:.12em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:1rem 2rem;font-size:.82rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.btn-maps{background-color:var(--color-primary);color:var(--color-surface)}.btn-maps:hover{background-color:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.btn-calendar{color:var(--color-primary);border:1px solid var(--color-primary);background-color:#0000}.btn-calendar:hover{background-color:var(--color-primary);color:var(--color-surface);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.parking-info{background:var(--color-background);border:var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-soft);border-left:4px solid var(--color-accent);padding:1.75rem}.parking-info h4{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--color-accent);margin-bottom:.5rem;font-size:.78rem}.parking-info p{color:var(--color-text);font-size:1rem;line-height:1.6}@media (width<=900px){.ceremony-section{flex-direction:column}.ceremony-image-wrapper{gap:.5rem;min-height:0;padding:clamp(2.5rem,8vw,3.5rem) 1.5rem 1rem}.ceremony-illustration{max-width:300px}.ceremony-content{min-height:auto;padding:clamp(2rem,8vw,3.5rem) clamp(1.5rem,6vw,2.5rem) clamp(2.5rem,9vw,4rem)}}.reception-section{background-color:var(--color-background);flex-direction:row;padding:0;display:flex}.reception-image-wrapper{background-color:var(--color-background);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;min-height:100vh;padding:clamp(2.5rem,6vw,5rem);display:flex}.reception-illustration{mix-blend-mode:multiply;width:100%;max-width:480px;height:auto}.reception-content{background-color:var(--color-background);flex-direction:column;flex:1;justify-content:center;padding:clamp(2.5rem,6vw,4.5rem);display:flex}.reception-details h3{color:var(--color-primary);margin-bottom:.9rem;font-size:clamp(1.8rem,5vw,2.5rem)}.reception-address{font-family:var(--font-body);color:var(--color-muted);margin-bottom:1.75rem;font-size:.98rem;line-height:1.5}.reception-parking{border-left:none;border-right:4px solid var(--color-accent);background-color:var(--color-surface)}.parking-list{margin-top:1rem;padding:0;list-style:none}.parking-list li{border-bottom:1px solid var(--color-border);color:var(--color-text);padding:.8rem 0;font-size:1.05rem}.parking-list li a{color:var(--color-accent);text-decoration:none;transition:opacity .3s}.parking-list li a:hover{opacity:.7;text-decoration:underline}.parking-list li:last-child{border-bottom:none}.small-text{color:var(--color-muted);margin-left:.5rem;font-size:.85rem;font-style:italic}@media (width<=900px){.reception-section{flex-direction:column-reverse}.reception-image-wrapper{gap:.5rem;min-height:0;padding:clamp(2.5rem,8vw,3.5rem) 1.5rem 1rem}.reception-illustration{max-width:300px}.reception-content{min-height:auto;padding:clamp(2rem,8vw,3.5rem) clamp(1.5rem,6vw,2.5rem) clamp(2.5rem,9vw,4rem)}}.registry-link-card{background:var(--color-card);border:var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(8px);text-align:center;width:100%;max-width:800px;padding:clamp(2rem,6vw,4rem)}.registry-link-intro{color:var(--color-text);max-width:600px;margin:0 auto 2.5rem;font-size:clamp(1rem,2.4vw,1.15rem)}.btn-go-registry{background-color:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-heading);cursor:pointer;box-shadow:var(--shadow-soft);border:none;border-radius:999px;padding:1rem 2.5rem;font-size:1.25rem;transition:all .3s;display:inline-block}.btn-go-registry:hover{background-color:var(--color-primary);transform:translateY(-3px);box-shadow:0 10px 20px #0000001a}.registry-options{justify-content:center;margin-bottom:3rem;display:flex}.registry-option{text-align:center;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;max-width:400px;padding:2.5rem 2rem;transition:transform .3s,box-shadow .3s}.btn-copy{background-color:var(--color-primary);color:#fff;font-family:var(--font-body);cursor:pointer;border:none;border-radius:999px;padding:.75rem 1.5rem;font-size:.9rem;transition:opacity .3s}.btn-copy:hover{opacity:.9}.ecommerce-section-link{border-top:1px solid var(--color-border);margin-top:1rem;padding-top:2.5rem}.ecommerce-title-link{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:1.5rem;font-size:clamp(1.4rem,3vw,1.8rem)}.rsvp-section{background-color:var(--color-background);justify-content:center;align-items:center;min-height:100svh;padding:clamp(3rem,8vw,6rem) clamp(1.25rem,5vw,4rem);display:flex}.rsvp-card{background:var(--color-card);border:var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(8px);width:100%;max-width:700px;padding:clamp(2rem,6vw,4rem)}.rsvp-form{flex-direction:column;gap:1.5rem;margin-top:2rem;display:flex}.form-row{gap:1.5rem;display:flex}.form-group{text-align:left;flex-direction:column;display:flex}.form-group.half{flex:1}.form-group label{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:.5rem;font-size:1.05rem}.form-group input,.form-group textarea{font-family:var(--font-body);border:1px solid var(--color-border);background-color:var(--color-background);color:var(--color-text);border-radius:10px;padding:.9rem 1rem;font-size:1rem;transition:all .3s}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-muted);opacity:.7}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 22%, transparent);outline:none}.form-group textarea{resize:vertical}.rsvp-form .btn-rsvp{background-color:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-heading);letter-spacing:.05em;cursor:pointer;-webkit-backdrop-filter:none;border:none;border-radius:999px;margin-top:1rem;padding:1rem 3rem;font-size:1.1rem;transition:background-color .3s,transform .3s,box-shadow .3s;display:inline-block}.rsvp-form .btn-rsvp:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-surface);transform:translateY(-2px)}.rsvp-form .btn-rsvp:disabled{background:var(--color-muted);color:var(--color-surface);cursor:not-allowed;box-shadow:none}.rsvp-error{color:#b3261e;text-align:center;background-color:#fdecec;border-radius:10px;padding:1rem;font-size:.95rem}.rsvp-success-message{color:var(--color-text);margin-top:1.5rem;font-size:1.2rem}@media (width<=768px){.form-row{flex-direction:column;gap:1.5rem}}.gallery-section{background-color:var(--color-surface)}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;width:100%;max-width:1200px;margin-top:3rem;display:grid}.gallery-item{border-radius:var(--radius);aspect-ratio:1;box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .4s,box-shadow .4s;position:relative;overflow:hidden}.gallery-item:hover{box-shadow:var(--shadow-card);transform:translateY(-4px)}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .8s}.gallery-item:hover img{transform:scale(1.08)}.gallery-note{font-family:var(--font-heading);letter-spacing:.08em;color:var(--color-primary);text-align:center;margin-top:clamp(3rem,8vw,5rem);font-size:clamp(1.1rem,4vw,2rem);font-weight:500;line-height:1.1}.gallery-footer-date{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--color-muted);text-align:center;margin-top:.5rem;font-size:.8rem}.lightbox-overlay{z-index:2000;-webkit-backdrop-filter:blur(10px);cursor:zoom-out;background-color:#000000e6;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.lightbox-image{object-fit:contain;cursor:default;border-radius:8px;max-width:100%;max-height:100%;box-shadow:0 20px 40px #00000080}.lightbox-close{color:#fff;cursor:pointer;z-index:2001;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.8rem;transition:all .2s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.lightbox-close:hover{color:#000;background:#fff;transform:scale(1.1)}@media (width<=600px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.7rem}.lightbox-overlay{padding:1rem}}.vertical-wrapper{flex-direction:column;width:100%;display:flex;overflow-x:hidden}.admin-login-container{background-color:var(--color-background);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.admin-login-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-card);text-align:center;width:100%;max-width:400px;padding:2.5rem}.admin-login-card h2{color:var(--color-primary);font-family:var(--font-heading);margin-bottom:1.5rem}.admin-login-card form{flex-direction:column;gap:1rem;display:flex}.admin-login-card input{border:1px solid var(--color-border);border-radius:8px;padding:.75rem;font-size:1rem}.admin-login-card button{background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;border:none;border-radius:8px;padding:.75rem;font-size:1rem;transition:background .3s}.admin-login-card button:hover{background:var(--color-primary)}.admin-dashboard{background-color:var(--color-background);min-height:100vh;padding:3rem 1rem}.admin-container{max-width:800px;margin:0 auto}.admin-header{text-align:center;margin-bottom:3rem}.admin-header h1{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:.5rem}.admin-header p{color:var(--color-muted)}.admin-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-soft);margin-bottom:2rem;padding:2rem}.admin-section h2{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:1rem;font-size:1.5rem}.admin-section p{color:var(--color-text);margin-bottom:1.5rem}.btn-sheet{color:#fff;background:#0f9d58;border-radius:8px;padding:.75rem 1.5rem;font-weight:500;text-decoration:none;transition:opacity .3s;display:inline-block}.btn-sheet:hover{opacity:.9}.add-product-form{flex-direction:column;gap:1rem;display:flex}.add-product-form input{border:1px solid var(--color-border);font-family:var(--font-body);border-radius:8px;padding:.75rem;font-size:1rem}.add-product-form button{background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;border:none;border-radius:8px;margin-top:.5rem;padding:.75rem;font-size:1rem;transition:background .3s}.add-product-form button:disabled{opacity:.6;cursor:not-allowed}.danger-zone{background-color:#fff9f9;border-color:#fcc}.danger-zone h2{color:#d32f2f}.danger-buttons{flex-wrap:wrap;gap:1rem;display:flex}.btn-danger{color:#fff;cursor:pointer;background:#d32f2f;border:none;border-radius:8px;flex:1;min-width:250px;padding:1rem;font-size:1rem;font-weight:500;transition:background .3s}.btn-danger:hover:not(:disabled){background:#b71c1c}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.dropzone{border:2px dashed var(--color-border);text-align:center;background:var(--color-background);border-radius:8px;justify-content:center;align-items:center;min-height:150px;padding:2rem 1rem;transition:all .3s;display:flex;position:relative}.dropzone:hover,.dropzone--over{border-color:var(--color-primary);background:var(--color-accent-soft)}.upload-label{font-family:var(--font-body);color:var(--color-muted);margin-bottom:-.5rem;font-size:.9rem}.product-select{border:1px solid var(--color-border);font-family:var(--font-body);background:var(--color-surface);color:var(--color-text);border-radius:8px;padding:.75rem;font-size:1rem}.details-textarea{border:1px solid var(--color-border);font-family:var(--font-body);resize:vertical;border-radius:8px;padding:.75rem;font-size:1rem}.pos-picker{border:1px solid var(--color-border);border-radius:999px;width:fit-content;display:flex;overflow:hidden}.pos-option{font-family:var(--font-body);color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:.55rem 1.4rem;font-size:.85rem;transition:all .25s}.pos-option+.pos-option{border-left:1px solid var(--color-border)}.pos-option.active{background:var(--color-accent);color:var(--color-on-accent)}.current-photo-row{align-items:center;gap:1rem;display:flex}.current-photo-thumb{object-fit:cover;border:1px solid var(--color-border);border-radius:8px;width:72px;height:72px}.current-photo-note{color:var(--color-muted);font-size:.85rem}.edit-actions{flex-wrap:wrap;gap:1rem;display:flex}.edit-actions button{flex:1;min-width:180px}.btn-delete-product{color:#d32f2f!important;background:0 0!important;border:1px solid #d32f2f!important}.btn-delete-product:hover:not(:disabled){color:#fff!important;background:#d32f2f!important}.dropzone-prompt{color:var(--color-muted)}.file-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.preview-container{flex-direction:column;align-items:center;gap:1rem;display:flex}.image-preview{object-fit:cover;max-width:100%;max-height:200px;box-shadow:var(--shadow-soft);border-radius:8px}.btn-remove-image{color:#fff;cursor:pointer;background:#ff5252;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem}.btn-remove-image:hover{background:#ff1744}.registry-section{background-color:var(--color-background)}.registry-card{background:var(--color-card);border:var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(8px);width:100%;max-width:900px;padding:clamp(2rem,6vw,4rem)}.registry-intro{text-align:center;color:var(--color-text);max-width:720px;margin:0 auto 3.5rem;font-size:clamp(1rem,2.4vw,1.15rem)}.registry-options{gap:2.5rem;display:flex}.registry-option{text-align:center;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);flex:1;padding:2.5rem 2rem;transition:transform .3s,box-shadow .3s}.registry-option:hover{box-shadow:var(--shadow-soft);transform:translateY(-5px)}.option-icon{margin-bottom:1rem;font-size:2.75rem}.registry-option h3{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:1.5rem;font-size:clamp(1.4rem,3.5vw,1.8rem)}.iban{background:var(--color-accent-soft);color:var(--color-primary);word-break:break-all;border-radius:8px;margin-bottom:1rem;padding:.6rem 1rem;font-family:monospace;font-size:1rem}.bonifico-details p{color:var(--color-muted);margin-bottom:.5rem;font-size:.95rem}.bonifico-details .iban{margin-top:1rem;margin-bottom:1.75rem}.ecommerce-section{border-top:1px solid var(--color-border);margin-top:4rem;padding-top:3rem}.ecommerce-title{text-align:center;font-family:var(--font-heading);color:var(--color-primary);margin-bottom:2.5rem;font-size:clamp(1.6rem,4vw,2.2rem)}.products-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;display:grid}.product-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:transform .3s,box-shadow .3s;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-5px)}.product-image-container{aspect-ratio:4/3;background-color:var(--color-accent-soft);width:100%;overflow:hidden}.product-image-container img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.product-card:hover .product-image-container img{transform:scale(1.05)}.product-info{text-align:center;padding:1.25rem 1rem}.product-info h4{font-family:var(--font-body);color:var(--color-text);margin-bottom:.5rem;font-size:.95rem;font-weight:500;line-height:1.3}.product-price{font-family:var(--font-heading);color:var(--color-accent);margin-bottom:.75rem;font-size:1.25rem;font-weight:600}.product-progress-container{background-color:var(--color-border);border-radius:4px;width:100%;height:6px;margin-bottom:.5rem;overflow:hidden}.product-progress-bar{background-color:var(--color-primary);height:100%;transition:width .5s ease-out}.product-progress-text{color:var(--color-muted);font-size:.8rem}.product-card.completed{opacity:.6;cursor:default}.product-card.completed:hover{box-shadow:none;transform:none}.product-completed-badge{color:var(--color-primary);font-weight:700;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;z-index:2;background-color:#ffffffe6;border-radius:999px;padding:.5rem 1rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 10px #0000001a}.product-image-container{aspect-ratio:4/3;background-color:var(--color-accent-soft);width:100%;position:relative;overflow:hidden}.loading-registry{text-align:center;color:var(--color-muted);padding:3rem;font-style:italic}.registry-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(5px);background-color:#0009;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.registry-modal-content{background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:500px;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.registry-modal-close{color:#fff;cursor:pointer;z-index:2;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.5rem;transition:background .2s;display:flex;position:absolute;top:1rem;right:1rem}.registry-modal-close:hover{background:var(--color-primary)}.modal-header{background-color:var(--color-accent-soft);height:200px;position:relative}.modal-image-btn{cursor:zoom-in;background:0 0;border:none;width:100%;height:100%;padding:0;display:block;position:relative}.modal-header img{object-fit:cover;width:100%;height:100%}.modal-zoom-hint{pointer-events:none;background:#ffffffd9;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:1rem;display:flex;position:absolute;bottom:.75rem;right:.75rem;box-shadow:0 2px 8px #0003}.modal-header-text{color:#fff;background:linear-gradient(#0000,#000c);padding:2rem 1.5rem 1rem;position:absolute;bottom:0;left:0;right:0}.modal-header-text h3{color:#fff;margin-bottom:.25rem;font-size:1.25rem}.modal-price{font-family:var(--font-heading);color:var(--color-accent-light);font-size:1.5rem;font-weight:600}.modal-body{text-align:left;padding:1.5rem}.modal-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--color-text);font-size:.9rem;font-weight:500}.form-group input[type=text],.form-group input[type=number],.form-group textarea{border:1px solid var(--color-border);background:var(--color-background);width:100%;color:var(--color-text);font-family:var(--font-body);border-radius:8px;padding:.75rem 1rem;font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-accent);outline:none}.form-group textarea{resize:vertical;min-height:80px}.input-with-symbol{align-items:center;display:flex;position:relative}.currency-symbol{color:var(--color-muted);position:absolute;left:1rem}.input-with-symbol input{padding-left:2rem!important}.modal-actions{gap:1rem;margin-top:1rem;display:flex}.btn-cancel,.btn-continue{font-family:var(--font-body);cursor:pointer;text-align:center;border-radius:999px;flex:1;padding:.85rem;font-size:.9rem;font-weight:500;transition:all .3s}.btn-cancel{border:1px solid var(--color-border);color:var(--color-text);background:0 0}.btn-cancel:hover{background:var(--color-border)}.btn-continue{background:var(--color-accent);color:var(--color-on-accent);border:1px solid var(--color-accent)}.btn-continue:hover{background:var(--color-primary);border-color:var(--color-primary)}.modal-details{color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:.9rem 1rem;font-size:.95rem;line-height:1.6}.modal-product-link{letter-spacing:.04em;color:var(--color-accent);border-bottom:1px solid;align-self:flex-start;padding-bottom:.15rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:color .3s}.modal-product-link:hover{color:var(--color-primary)}.modal-step-2 p{color:var(--color-text);text-align:center;margin-bottom:1.5rem;font-size:.95rem;line-height:1.5}.modal-step-2 .modal-actions{margin-top:1.25rem}.modal-step-3{text-align:center;padding:.5rem 0}.modal-success-icon{margin-bottom:.75rem;font-size:2.5rem}.modal-step-3 h3{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:.75rem;font-size:1.5rem}.modal-step-3 p{color:var(--color-text);margin-bottom:1.5rem;font-size:.95rem;line-height:1.6}.btn-close-success{cursor:pointer;border-radius:999px;width:100%;padding:.85rem;font-size:.9rem;font-weight:500}.product-zoom-overlay{z-index:1100;cursor:zoom-out;background:#000000e0;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.product-zoom-overlay img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%;box-shadow:0 25px 60px #00000080}.modal-step-2 p strong{color:var(--color-primary)}.bonifico-box{background:var(--color-background);border:1px solid var(--color-border);text-align:left;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.bonifico-box p{color:var(--color-muted);margin-bottom:.5rem}.bonifico-box p strong{color:var(--color-primary)}.bonifico-box .iban{text-align:center;margin-top:1rem;margin-bottom:0;font-size:1.1rem}.btn-copy-modal{background:var(--color-accent);width:100%;color:var(--color-on-accent);font-family:var(--font-body);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:none;border-radius:999px;padding:1rem;font-size:.9rem;transition:all .3s}.btn-copy-modal:hover{background:var(--color-primary)}.btn-back{width:100%;color:var(--color-muted);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;margin-top:1rem;padding:.75rem;font-size:.9rem;transition:color .3s}.btn-back:hover{color:var(--color-text);text-decoration:underline}@media (width<=768px){.registry-options{flex-direction:column;gap:1.5rem}.products-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (width<=480px){.products-grid{grid-template-columns:1fr}}.registry-page-wrapper{background-color:var(--color-background);min-height:100vh;padding-bottom:4rem}.registry-page-header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:100;box-shadow:var(--shadow-soft);padding:1.5rem 2rem;position:sticky;top:0}.btn-back-home{color:var(--color-text);font-family:var(--font-heading);cursor:pointer;background:0 0;border:none;align-items:center;font-size:1.1rem;transition:color .3s;display:flex}.btn-back-home:hover{color:var(--color-primary)}.registry-page-wrapper .registry-section{padding-top:3rem}.tnt{--tnt-paper:#f7f5f1;--tnt-ink:#1b1a17;--tnt-faded:#8b867c;--tnt-hairline:#1b1a1729;background:var(--tnt-paper);color:var(--tnt-ink);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,sans-serif}.tnt-topbar{z-index:10;mix-blend-mode:multiply;pointer-events:none;justify-content:space-between;align-items:center;padding:1.4rem clamp(1.4rem,4vw,3rem);display:flex;position:fixed;top:0;left:0;right:0}.tnt-mark,.tnt-topdate{letter-spacing:.32em;color:var(--tnt-ink);font-size:.72rem}.tnt-hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:6rem 1.5rem 4rem;display:flex}.tnt-eyebrow{letter-spacing:.42em;text-transform:uppercase;color:var(--tnt-faded);margin-bottom:clamp(2rem,5vh,3.5rem);font-size:clamp(.66rem,1.8vw,.78rem)}.tnt-names{letter-spacing:.01em;color:var(--tnt-ink);flex-direction:column;align-items:center;font-family:Bodoni Moda,serif;font-size:clamp(3.4rem,14vw,9rem);font-weight:400;line-height:.98;display:flex}.tnt-amp{color:var(--tnt-faded);font-size:.36em;font-style:italic;line-height:1.6}.tnt-hero-meta{letter-spacing:.28em;text-transform:uppercase;color:var(--tnt-ink);align-items:center;gap:1.4rem;margin-top:clamp(2.5rem,6vh,4rem);font-size:clamp(.72rem,2vw,.82rem);display:flex}.tnt-rule{background:var(--tnt-hairline);width:clamp(2.5rem,8vw,5rem);height:1px}.tnt-quote{max-width:46rem;margin:0 auto;padding:clamp(5rem,14vh,9rem) clamp(1.5rem,5vw,2.5rem);position:relative}.tnt-quote-mark{color:var(--tnt-hairline);margin-bottom:1rem;font-family:Bodoni Moda,serif;font-size:clamp(5rem,12vw,8rem);line-height:.6;display:block}.tnt-quote blockquote p{margin-bottom:1.8em;font-family:Bodoni Moda,serif;font-size:clamp(1.25rem,3.2vw,1.7rem);font-weight:400;line-height:1.75}.tnt-quote-final{font-style:italic}.tnt-quote blockquote footer{letter-spacing:.34em;text-transform:uppercase;color:var(--tnt-faded);font-family:Inter,sans-serif;font-size:.72rem}.tnt-quote blockquote footer:before{content:"";background:var(--tnt-hairline);vertical-align:middle;width:2.2rem;height:1px;margin-right:1rem;display:inline-block}.tnt-dossier{max-width:46rem;margin:0 auto;padding:clamp(3rem,8vh,6rem) clamp(1.5rem,5vw,2.5rem) clamp(5rem,12vh,8rem)}.tnt-dossier-title{letter-spacing:.42em;text-transform:uppercase;color:var(--tnt-faded);margin-bottom:3.5rem;font-family:Inter,sans-serif;font-size:.72rem;font-weight:500}.tnt-row{border-top:1px solid var(--tnt-hairline);grid-template-columns:5rem 1fr;gap:1rem;padding:2.4rem 0;display:grid}.tnt-row:last-child{border-bottom:1px solid var(--tnt-hairline)}.tnt-num{color:var(--tnt-faded);padding-top:.35rem;font-family:Bodoni Moda,serif;font-size:.95rem}.tnt-row-body h3{color:var(--tnt-ink);margin-bottom:.7rem;font-family:Bodoni Moda,serif;font-size:clamp(1.5rem,4vw,2rem);font-weight:500}.tnt-row-body p{color:var(--tnt-faded);margin-bottom:1.1rem;font-size:.95rem;line-height:1.75}.tnt-row-body a{letter-spacing:.22em;text-transform:uppercase;color:var(--tnt-ink);border-bottom:1px solid var(--tnt-ink);padding-bottom:.2rem;font-size:.78rem;text-decoration:none;transition:opacity .3s}.tnt-row-body a:hover{opacity:.55}.tnt-footer{text-align:center;padding:0 1.5rem clamp(4rem,10vh,7rem)}.tnt-footer-rule{background:var(--tnt-hairline);width:1px;height:clamp(3rem,8vh,5rem);margin:0 auto 2.2rem;display:block}.tnt-footer-names{margin-bottom:.7rem;font-family:Bodoni Moda,serif;font-size:clamp(1.3rem,3.5vw,1.8rem)}.tnt-footer-note{letter-spacing:.3em;text-transform:uppercase;color:var(--tnt-faded);font-size:.68rem}@media (width<=600px){.tnt-row{grid-template-columns:3rem 1fr}}
