body:is([id$="-eventov2"], [id$="-mieventov2"], [id$="-weddingpayment"], [id$="-aportev2"], [id$="-weddinglogin"]) #header, body:is([id$="-eventov2"], [id$="-mieventov2"], [id$="-weddingpayment"], [id$="-aportev2"], [id$="-weddinglogin"]) #footer,
body:is([id$="-eventov2"], [id$="-mieventov2"], [id$="-weddingpayment"], [id$="-aportev2"], [id$="-weddinglogin"]) .breadcrumb, body:is([id$="-eventov2"], [id$="-mieventov2"], [id$="-weddingpayment"], [id$="-aportev2"], [id$="-weddinglogin"]) .page-header,
body:is([id$="-eventov2"], [id$="-mieventov2"], [id$="-weddingpayment"], [id$="-aportev2"], [id$="-weddinglogin"]) .page-title-section { display: none !important; }
body:is([id$="-eventov2"], [id$="-mieventov2"], [id$="-weddingpayment"], [id$="-aportev2"], [id$="-weddinglogin"]) .breadcrumb__wrapper,
body:is([id$="-eventov2"], [id$="-mieventov2"], [id$="-weddingpayment"], [id$="-aportev2"], [id$="-weddinglogin"]) .breadcrumb-wrapper { display: none !important; margin: 0 !important; }
body:is([id$="-eventov2"], [id$="-mieventov2"], [id$="-weddingpayment"], [id$="-aportev2"], [id$="-weddinglogin"]) #wrapper, body:is([id$="-eventov2"], [id$="-mieventov2"], [id$="-weddingpayment"], [id$="-aportev2"], [id$="-weddinglogin"]) #content,
body:is([id$="-eventov2"], [id$="-mieventov2"], [id$="-weddingpayment"], [id$="-aportev2"], [id$="-weddinglogin"]) #main, body:is([id$="-eventov2"], [id$="-mieventov2"], [id$="-weddingpayment"], [id$="-aportev2"], [id$="-weddinglogin"]) .container,
body:is([id$="-eventov2"], [id$="-mieventov2"], [id$="-weddingpayment"], [id$="-aportev2"], [id$="-weddinglogin"]) #content-wrapper {
  width: 100% !important; max-width: none !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important;
  background: #fafbfc; float: none;
}
.wedding-app { font: 16px/1.65 Montserrat, Arial, sans-serif; color: #15273e; }
body:is([id$="-eventov2"], [id$="-mieventov2"], [id$="-weddingpayment"], [id$="-aportev2"], [id$="-weddinglogin"]) #center-column {
  margin: 0 !important; padding: 0 !important; border: 0 !important;
}
.wedding-app .brand { border: 0; padding: 0; margin: 0; box-shadow: none; border-radius: 0; }
.wedding-app .site-header { background: white; }
.wedding-app .settings-panel input[type="date"] { width: 100%; padding: 12px 14px; border: 1px solid #cbd7e5; border-radius: 9px; }
.wedding-app .settings-panel label[for^="date-"] { margin-top: 18px; }
.wedding-app *, .wedding-app *::before, .wedding-app *::after { letter-spacing: 0 !important; }
.wedding-app h1, .wedding-app h2, .wedding-app h3,
.wedding-app button, .wedding-app input, .wedding-app textarea { font-family: inherit; }
.wedding-app .hero h1 { font-size: 76px; }
.wedding-app .hero-photo { background-image: url('/modules/turismo_eventos/views/img/wedding-v2/casamiento.png'); }
.wedding-app .hero { min-height: 620px; }
.wedding-app .hero h1, .wedding-app .hero-lead { color: white; }
.wedding-app .hero h1 { max-width: 100%; }
.wedding-app .site-header { display: block; padding: 0; box-shadow: none; }
.wedding-app .wedding-footer { display: block !important; background: #101e30; padding: 40px 0; }
.wedding-app .button:hover { text-decoration: none; }
.wedding-app input[type=radio], .wedding-app input[type=checkbox] { position: static; opacity: 1; }
.wedding-app .currency-choice input, .wedding-app .amount-options input { position: absolute; opacity: 0; }
.wedding-app fieldset { min-inline-size: 0; }
.wedding-app dialog { margin: auto; }
.wedding-app .form-card legend { float: none; width: auto; border: none; }
.wedding-app [hidden] { display: none !important; }
.wedding-app .travel-card { transform: none; }
.wedding-app .hero-stamp { pointer-events: none; }
@media(max-width:760px) {
  .wedding-app .hero h1 { font-size: 42px; }
  .wedding-app .hero { min-height: 590px; }
  .wedding-app .hero-content { padding-bottom: 44px; }
}

.wedding-app input[type="email"], .wedding-app input[type="tel"] { width:100%; border:1px solid #cbd7e5; border-radius:9px; padding:12px 14px; font:inherit; background:white; }
.payment-followup { max-width:800px; }.payment-followup h1 { font-size:32px; }.payment-bank { white-space:pre-line; padding:20px; background:#eef5fc; border-radius:8px; }.payment-followup form { margin:24px 0; }.payment-followup label { display:block; font-weight:600; }.payment-followup button { margin-top:20px; }
.wedding-app .gifts-panel form { min-width:220px; }.wedding-app .gifts-panel textarea { font-size:13px; }.wedding-app .gifts-panel .button { margin-top:8px; }
.wedding-app .couple-photo-preview { display:block; width:320px; max-width:100%; height:auto; margin:12px 0; border-radius:8px; }
.wedding-app .settings-panel input[type="file"] { width:100%; min-width:0; margin:12px 0; font:inherit; }
.wedding-app .hero.has-personalized-photo .hero-photo {
  animation:none;
  background-position:var(--photo-x-desktop,50%) var(--photo-y-desktop,50%);
  background-size:var(--photo-fit-desktop,cover);
  background-repeat:no-repeat;
  transform:none;
}
.hero-legends { display:flow-root; }
.wedding-app .hero.has-text-layout .hero-content { min-height:620px; padding-block:32px; }
.wedding-app .hero.has-text-layout .hero-legends { width:min(640px,100%); }
.wedding-app .hero.hero-text-right .hero-shade { transform:scaleX(-1); }
.wedding-app .hero.hero-text-center .hero-shade { background:rgba(8,23,40,.68); }
.photo-editor-dialog { width:1100px; max-width:calc(100% - 24px); max-height:92vh; overflow:auto; padding:28px; }
.photo-editor-dialog h2 { font-size:24px; margin:0 36px 24px 0; }
.photo-editor-layout { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:24px; align-items:start; }
.photo-stage { position:relative; width:100%; aspect-ratio:1440/900; overflow:hidden; background:#101e30; margin-inline:auto; }
.photo-stage iframe { position:absolute; top:0; left:0; border:0; transform-origin:top left; pointer-events:none; max-width:none; }
.photo-loading { position:absolute; inset:0; z-index:1; display:grid; place-items:center; color:white; font-size:13px; }
.photo-drag { position:absolute; inset:0; cursor:grab; touch-action:none; }
.photo-drag:active { cursor:grabbing; }
.photo-controls label { display:block; margin:16px 0 6px; font-size:13px; font-weight:600; }
.photo-controls .check-label { display:flex; gap:8px; align-items:center; }
.photo-controls select { width:100%; border:1px solid #cbd7e5; padding:10px; border-radius:8px; background:white; }
.photo-controls input[type=range] { width:100%; accent-color:#1765a8; }
.photo-controls input[type=color] { display:block; width:100%; height:40px; padding:4px; border:1px solid #cbd7e5; border-radius:6px; background:white; cursor:pointer; }
.wedding-app .hero.photo-preview-original .hero-shade { opacity:0 !important; }
.wedding-app .hero.photo-preview-original .hero-legends,
.wedding-app .hero.photo-preview-original .hero-stamp { background:transparent !important; box-shadow:none !important; backdrop-filter:none !important; }
.photo-controls output { float:right; font-weight:400; }
.photo-modes { border:0; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:4px; min-inline-size:0; }
.photo-modes legend { font-size:13px; font-weight:600; margin-bottom:8px; float:none; width:100%; }
.photo-controls .photo-modes label { position:relative; display:flex; flex:1; margin:0; cursor:pointer; }
.wedding-app .photo-modes input { position:absolute; opacity:0; width:1px; height:1px; }
.photo-controls [data-photo-reset] { width:44px; min-width:44px; height:44px; font-size:20px; padding:0; }
.photo-modes span { width:100%; text-align:center; border:1px solid #cbd7e5; border-radius:6px; padding:8px; font-size:12px; }
.photo-modes input:checked + span { background:#1765a8; border-color:#1765a8; color:white; }
.photo-modes input:focus-visible + span { outline:3px solid #e79f3a; outline-offset:2px; }
.photo-editor-actions { position:sticky; bottom:0; z-index:2; background:white; padding-top:16px; display:flex; justify-content:flex-end; gap:20px; margin-top:24px; align-items:center; }
.photo-editor-actions .button { margin:0; }
@media(max-width:760px) {
  .wedding-app .hero.has-text-layout .hero-content { min-height:590px; }
  .wedding-app .hero-stamp { width:104px; height:104px; }
  .wedding-app .hero-stamp strong { font-size:28px; }
  .wedding-app .hero-stamp > span { font-size:6px; }
  .wedding-app .hero.has-personalized-photo .hero-photo {
    background-position:var(--photo-x-mobile,50%) var(--photo-y-mobile,50%);
    background-size:var(--photo-fit-mobile,cover);
    transform:none;
  }
  .photo-editor-layout { grid-template-columns:minmax(0,1fr); }
  .photo-editor-dialog { padding:22px 18px; }
  .photo-editor-actions { gap:12px; }
  .photo-editor-actions .button { font-size:13px; padding:12px; }
}
.wedding-login { max-width:480px; min-height:520px; }
.wedding-login h1 { font-size:32px; }
.wedding-login label { display:block; margin:20px 0 8px; font-weight:600; }
.wedding-login input[type="password"] { width:100%; padding:12px 14px; border:1px solid #cbd7e5; border-radius:8px; background:white; }
.wedding-login .button { width:100%; margin:24px 0 16px; }
.wedding-login form > a { display:block; text-align:center; }
@media(max-width:760px) {
  .wedding-app .guest-header .header-inner { flex-wrap:wrap; padding-block:16px; }
  .wedding-app .guest-header .product-nav { width:100%; margin-left:0; justify-content:space-between; gap:12px; }
  .wedding-app .guest-header .product-nav .couple-access { display:inline-flex; }
}
