/* Elementor-editable Opa Peters homepage */
.elementor-page { --op-ivory:#f7f1e9; --op-paper:#fcfaf6; --op-apricot:#e89561; --op-yellow:#e2b44b; --op-rose:#d79da1; --op-blue:#9caeb8; --op-red:#aa6463; --op-dark:#323333; --op-muted:#74706b; --op-line:#d9d0c6; background:var(--op-ivory); color:var(--op-dark); font-family:"Montserrat",Arial,sans-serif; }
.elementor-page .elementor-section > .elementor-container { width:min(1220px,calc(100% - 64px)); max-width:1220px; }
.elementor-page .elementor-widget-heading .elementor-heading-title { color:var(--op-dark); font-family:"Montserrat",Arial,sans-serif; font-weight:500; letter-spacing:-.045em; line-height:1; text-transform:uppercase; }
.elementor-page .elementor-widget-text-editor { color:var(--op-muted); font-family:"Montserrat",Arial,sans-serif; font-size:15px; line-height:1.75; }
.elementor-page .elementor-widget-text-editor p:last-child { margin-bottom:0; }
.elementor-page .elementor-widget-button .elementor-button { min-height:50px; display:inline-flex; align-items:center; border:1px solid var(--op-dark); border-radius:0; background:var(--op-dark); color:#fff; font-family:"Montserrat",Arial,sans-serif; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.elementor-page .elementor-widget-button .elementor-button:hover { background:transparent; color:var(--op-dark); }
.elementor-page .op-kicker { margin:0; color:var(--op-red); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }

.op-el-notice { padding:7px 0; border-bottom:1px solid rgba(50,51,51,.22); background:var(--op-apricot); }
.op-el-notice .elementor-widget-text-editor { color:var(--op-dark); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.op-el-notice p { display:flex; justify-content:space-between; }
.op-el-header { position:relative; z-index:10; padding:18px 0; border-bottom:1px solid var(--op-line); background:var(--op-ivory); }
.op-el-header .elementor-container { align-items:center; }
.op-el-brand .elementor-heading-title { font-size:18px!important; letter-spacing:.065em!important; }
.op-el-brand-sub { margin-top:-8px; }.op-el-brand-sub .elementor-widget-container { color:var(--op-dark)!important; font-size:8px!important; font-weight:600; letter-spacing:.22em; }
.op-el-nav nav { display:flex; justify-content:flex-end; gap:clamp(15px,2.4vw,34px); }
.op-el-nav a { color:var(--op-dark); font-size:11px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; }

.op-el-hero { background:var(--op-ivory); }
.op-el-hero > .elementor-container { width:100%!important; max-width:1480px!important; }
.op-el-hero .elementor-column:first-child > .elementor-widget-wrap { align-content:center; padding:85px clamp(35px,6vw,90px); }
.op-el-hero h1.elementor-heading-title { margin:15px 0 23px; font-size:clamp(56px,6vw,106px); }
.op-el-hero h1 span,.op-el-reservation h2 span,.op-el-wedding h2 span,.op-el-closing h2 span { color:var(--op-apricot); }
.op-el-hero .elementor-widget-text-editor:not(.op-el-brand-sub) { max-width:550px; }
.op-el-hero-image,.op-el-hero-image .elementor-widget-container,.op-el-hero-image img { height:100%; min-height:660px; }
.op-el-hero-image img { width:100%; object-fit:cover; }
.op-el-primary { margin-top:10px; }.op-trust { padding-top:18px; border-top:1px solid var(--op-line); color:var(--op-dark); font-size:10px; font-weight:600; text-transform:uppercase; }

.op-el-choice { border-block:1px solid var(--op-line); background:var(--op-paper); }
.op-el-choice .elementor-column > .elementor-widget-wrap { align-content:center; min-height:165px; padding:27px 34px; border-right:1px solid var(--op-line); }
.op-el-choice .elementor-column:last-child > .elementor-widget-wrap { border-right:0; }
.op-el-choice h3.elementor-heading-title { font-size:16px; letter-spacing:.02em; }
.op-el-choice .elementor-widget-text-editor { font-size:12px; }.op-el-choice .elementor-button { min-height:auto!important; padding:5px 0!important; border:0!important; border-bottom:1px solid currentColor!important; background:transparent!important; color:var(--op-dark)!important; }
.op-choice-rose:hover>.elementor-widget-wrap{background:#f7e9e7}.op-choice-yellow:hover>.elementor-widget-wrap{background:#f7efd9}.op-choice-blue:hover>.elementor-widget-wrap{background:#e9eef0}

.op-el-heading { padding:105px 0 38px; background:var(--op-paper); text-align:center; }
.op-el-heading h2.elementor-heading-title { margin:10px 0 14px; font-size:clamp(52px,5.5vw,90px); }
.op-el-products { padding-bottom:105px; background:var(--op-paper); }
.op-el-products .elementor-column > .elementor-widget-wrap { align-content:flex-start; padding:0 0 30px; border:1px solid var(--op-line); border-right:0; }
.op-el-products .elementor-column:last-child > .elementor-widget-wrap { border-right:1px solid var(--op-line); }
.op-el-products .elementor-widget-image img { width:100%; height:300px; object-fit:cover; }
.op-product-rose .elementor-widget-image img{object-position:0 center}.op-product-yellow .elementor-widget-image img{object-position:50% center}.op-product-blue .elementor-widget-image img{object-position:100% center}
.op-el-products .elementor-widget-heading,.op-el-products .elementor-widget-text-editor,.op-el-products .elementor-widget-button { padding-inline:25px; }
.op-el-products .op-kicker { margin-top:22px; }.op-el-products h3.elementor-heading-title { font-size:25px; }
.op-el-products .elementor-widget-button .elementor-button { min-height:auto; padding:5px 0; border:0; border-bottom:1px solid currentColor; background:transparent; color:var(--op-dark); }

.op-el-flavors { padding:44px 0; border-block:1px solid var(--op-line); background:var(--op-ivory); text-align:center; }
.op-el-flavors h3.elementor-heading-title { font-size:25px; }.op-el-flavors p { display:flex; justify-content:center; flex-wrap:wrap; gap:15px; }
.op-el-flavors p span { padding:9px 15px; border:1px solid var(--op-line); background:var(--op-paper); color:var(--op-dark); font-size:10px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; }

.op-el-reservation { padding:105px 0; background:var(--op-dark); }
.op-el-reservation > .elementor-container { align-items:center; gap:70px; }
.op-el-reservation .elementor-column:first-child { color:#fff; }.op-el-reservation h2.elementor-heading-title { margin:16px 0 25px; color:#fff; font-size:clamp(52px,5.5vw,86px); }
.op-el-reservation h2 span { color:var(--op-yellow); }.op-el-reservation .elementor-column:first-child .elementor-widget-text-editor { color:rgba(255,255,255,.67); }
.op-el-reservation ol { margin:30px 0 0; padding:0; list-style-position:inside; border-top:1px solid rgba(255,255,255,.17); }.op-el-reservation li { padding:11px 0; border-bottom:1px solid rgba(255,255,255,.17); }

.op-el-story { padding:105px 0; background:var(--op-ivory); }.op-el-story > .elementor-container { align-items:center; gap:45px; }
.op-story-year > .elementor-widget-wrap { min-height:390px; align-content:center; background:var(--op-yellow); text-align:center; }.op-story-year p{color:var(--op-dark);font-size:10px;font-weight:700;letter-spacing:.2em}.op-story-year strong{font-size:80px;font-weight:500;letter-spacing:-.08em;line-height:.7}
.op-el-story h2.elementor-heading-title { margin:15px 0 23px; font-size:clamp(38px,4vw,64px); }.op-el-story blockquote { margin:0; padding:35px 25px; border:1px solid var(--op-line); background:var(--op-paper); color:var(--op-dark); font-size:20px; font-weight:500; line-height:1.35; }.op-el-story blockquote small{display:block;margin-top:18px;color:var(--op-muted);font-size:9px;letter-spacing:.15em}

.op-el-wedding { padding:85px 0; border-block:1px solid rgba(50,51,51,.22); background:var(--op-apricot); }.op-el-wedding > .elementor-container { align-items:center; gap:50px; }.op-el-wedding h2.elementor-heading-title { margin-top:12px; font-size:clamp(52px,5vw,84px); }.op-el-wedding h2 span{color:var(--op-paper)}.op-el-wedding .elementor-widget-text-editor{color:var(--op-dark)}

.op-el-locations { padding:105px 0; background:var(--op-paper); }.op-el-locations .elementor-column > .elementor-widget-wrap { min-height:270px; align-content:center; padding:35px; border:1px solid var(--op-line); }.op-location-one>.elementor-widget-wrap{background:#f4e5cf}.op-location-two>.elementor-widget-wrap{background:#e4eaec}.op-el-locations h3.elementor-heading-title{font-size:34px}.op-el-locations .elementor-button{min-height:auto!important;padding:5px 0!important;border:0!important;border-bottom:1px solid currentColor!important;background:transparent!important;color:var(--op-dark)!important}
.op-el-closing { padding:105px 0; background:var(--op-rose); text-align:center; }.op-el-closing h2.elementor-heading-title{margin:13px 0 28px;font-size:clamp(52px,6vw,92px)}.op-el-closing h2 span{color:var(--op-paper)}
.op-el-footer { padding:70px 0 28px; background:var(--op-dark); }.op-el-footer>.elementor-container{gap:35px}.op-el-footer .elementor-heading-title{color:#fff!important;letter-spacing:.05em!important}.op-el-footer h3.elementor-heading-title{font-size:22px}.op-el-footer h4.elementor-heading-title{font-size:12px}.op-el-footer .elementor-widget-text-editor{color:rgba(255,255,255,.65);font-size:11px}.op-el-footer a{color:rgba(255,255,255,.75)}.op-el-footer a:hover{color:var(--op-yellow)}

@media(max-width:900px){.elementor-page .elementor-section>.elementor-container{width:min(100% - 34px,720px)}.op-el-hero>.elementor-container{width:100%!important}.op-el-hero .elementor-column{width:100%!important}.op-el-hero .elementor-container{flex-wrap:wrap}.op-el-hero-image,.op-el-hero-image .elementor-widget-container,.op-el-hero-image img{min-height:520px}.op-el-reservation>.elementor-container,.op-el-story>.elementor-container{gap:35px}.op-el-products .elementor-container,.op-el-reservation .elementor-container,.op-el-story .elementor-container,.op-el-wedding .elementor-container,.op-el-footer .elementor-container{flex-wrap:wrap}.op-el-products .elementor-column{width:100%!important}.op-el-products .elementor-column>.elementor-widget-wrap{border-right:1px solid var(--op-line);border-bottom:0}.op-el-products .elementor-column:last-child>.elementor-widget-wrap{border-bottom:1px solid var(--op-line)}.op-el-reservation .elementor-column,.op-el-story .elementor-column,.op-el-wedding .elementor-column{width:100%!important}.op-el-footer .elementor-column{width:45%!important}}
@media(max-width:600px){.elementor-page .elementor-section>.elementor-container{width:min(100% - 24px,520px)}.op-el-notice span{display:none}.op-el-header .elementor-container{flex-wrap:wrap}.op-el-header .elementor-column{width:100%!important;text-align:center}.op-el-nav nav{justify-content:center;flex-wrap:wrap;gap:9px 15px}.op-el-hero .elementor-column:first-child>.elementor-widget-wrap{padding:58px 20px 48px}.op-el-hero h1.elementor-heading-title{font-size:52px}.op-el-hero-image,.op-el-hero-image .elementor-widget-container,.op-el-hero-image img{min-height:390px}.op-el-choice .elementor-container{flex-wrap:wrap}.op-el-choice .elementor-column{width:100%!important}.op-el-choice .elementor-column>.elementor-widget-wrap{min-height:130px;border-right:0;border-bottom:1px solid var(--op-line)}.op-el-heading,.op-el-products,.op-el-reservation,.op-el-story,.op-el-locations{padding-block:72px}.op-el-heading h2.elementor-heading-title,.op-el-reservation h2.elementor-heading-title,.op-el-wedding h2.elementor-heading-title,.op-el-closing h2.elementor-heading-title{font-size:45px}.op-el-locations .elementor-container,.op-el-footer .elementor-container{flex-wrap:wrap}.op-el-locations .elementor-column,.op-el-footer .elementor-column{width:100%!important}.op-el-footer{text-align:center}}
