/* Shared treatment and price-list layout. */
.price-preview .price-navigation{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.price-preview .price-shell .service-detail{width:100%;max-width:none;margin:0;}
.price-preview .price-reading .mg-reading-lead{display:block;}
.price-preview .price-option-list:has(>li:only-child){grid-template-columns:1fr;}
.price-preview .price-option-list:has(>li:only-child)>.price-option{width:100%;max-width:640px;justify-self:center;}
.price-preview .price-shell{width:calc(100% - 48px);max-width:1040px;margin:0 auto;color:#382c22;--mg-control-hover:#f6edde;}
.price-preview .price-heading{max-width:none;margin:16px auto 24px;text-align:center;}
.price-preview .price-heading h1{font:400 clamp(2rem,3.1vw,3rem)/1.15 var(--mg-serif);margin:0 0 18px;color:#211b16;}
.price-preview .price-lead{font-size:1.0625rem;line-height:1.65;margin:0 auto;max-width:850px;}
.price-preview .price-kicker{font-size:.875rem;color:#765127;margin:0 0 10px;}
.price-preview .price-back{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;}
.price-preview .price-options h2{font:400 1.65rem/1.3 var(--mg-serif);margin:0 0 16px;}
.price-preview .price-option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:0;}
.price-preview .price-option{border:1px solid #c4a271;background:#fffaf2e8;padding:22px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;scroll-margin-top:24px;}
.price-preview .price-option h3{font:400 1.65rem/1.25 var(--mg-serif);margin:0 0 9px;}
.price-preview .price-scope{margin:0 0 12px;line-height:1.5;font-size:.9375rem;}
.price-preview .price-value{font:400 2rem/1.2 var(--mg-serif);margin:0 0 6px;color:#382c22;}
.price-preview .price-duration{font-size:.9375rem;margin:0 0 16px;}
.price-preview .price-option .mg-booking{margin-top:auto;width:100%;max-width:260px;min-height:52px;}
.price-preview .price-options+.mg-page-photo{margin-top:32px;}
.price-preview .price-note{font-size:.875rem;line-height:1.55;color:#62584e;}
.price-preview .price-description{text-decoration:underline;text-underline-offset:4px;}
/* Fixed-size cuts keep both outlines at 45 degrees at every button width. */
.price-preview .price-shell .mg-booking{--price-button-paper:#fffaf2;color:#382c22;}
.price-preview .price-shell .mg-booking:is(:hover,:focus-visible,:active){--price-button-paper:#f6edde;color:#543714;}
.price-preview .price-shell .price-booking-frame,.price-preview .price-shell .price-booking-frame>span,.price-preview .price-shell .price-booking-frame::before,.price-preview .price-shell .price-booking-frame>span::before{position:absolute;display:block;clip-path:polygon(var(--price-cut) 0,calc(100% - var(--price-cut)) 0,100% var(--price-cut),100% calc(100% - var(--price-cut)),calc(100% - var(--price-cut)) 100%,var(--price-cut) 100%,0 calc(100% - var(--price-cut)),0 var(--price-cut));pointer-events:none;}
.price-preview .price-shell .price-booking-frame{inset:0;z-index:0;background:#97672f;--price-cut:10px;}
.price-preview .price-shell .price-booking-frame::before{content:'';inset:1px;background:var(--price-button-paper);--price-cut:9.4px;}
.price-preview .price-shell .price-booking-frame>span{inset:4px;background:#c4a271;--price-cut:8px;}
.price-preview .price-shell .price-booking-frame>span::before{content:'';inset:1px;background:var(--price-button-paper);--price-cut:7.4px;}
.price-preview .price-reading{max-width:none;margin:28px 0;}
.price-preview .price-reading>*{max-width:none;}
.price-preview .price-expansion{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:flex-end;margin:12px 0;}
.price-preview .price-expansion button{border:0;background:none;color:#765127;min-height:44px;padding:8px 0;text-decoration:underline;text-underline-offset:4px;font:inherit;font-size:.9375rem;cursor:pointer;}
.price-preview .price-details{border:0;border-top:1px solid #c4a271;border-radius:0;background:#fffaf2b8;margin:0;}
.price-preview .price-details:last-child{border-bottom:1px solid #c4a271;}
.price-preview .price-details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;min-height:60px;padding:16px 20px;}
.price-preview .price-details>summary::-webkit-details-marker{display:none;}
.price-preview .price-details>summary::after{content:'+';font:1.5rem/1 sans-serif;flex:none;color:#765127;}
.price-preview .price-details[open]>summary::after{content:'−';}
.price-preview .price-details summary :is(h2,h3){font:400 1.4rem/1.3 var(--mg-serif);margin:0;}
.price-preview .price-details summary small{font:.8125rem/1.4 'Segoe UI',sans-serif;white-space:nowrap;margin-left:8px;}
.price-preview .price-details-body{padding:0 24px 20px;line-height:1.75;}
.price-preview .price-details-body :is(h3,h4){font:400 1.3rem/1.4 var(--mg-serif);margin:24px 0 12px;}
.price-preview .price-details-body .mg-text-section{margin:0;padding:0;}
.price-preview .price-details-body p{margin:0 0 16px;}
.price-preview .price-details-body [id]{scroll-margin-top:24px;}
.price-preview .price-related{width:100%;padding:0;}
.price-preview .price-knowledge-card{max-width:640px;}
.price-preview .price-search{margin:24px 0;}
.price-preview .price-search label{display:block;font-weight:600;margin-bottom:10px;}
.price-preview #price-query{width:100%;min-height:50px;padding:12px 14px;border:1px solid #a58456;background:#fffaf2;color:#382c22;border-radius:0;font:inherit;}
.price-preview [data-price-count]{font-size:.875rem;}
.price-preview .price-rows{padding:0 22px;margin:0;list-style:none;}
.price-preview .price-row{display:grid;grid-template-columns:minmax(0,1fr) 180px 210px;gap:20px;align-items:center;padding:24px 0;border-top:1px solid #decbb0;}
.price-preview .price-row h3{font:400 1.3rem/1.35 var(--mg-serif);margin:0 0 8px;}
.price-preview .price-service-name{text-decoration:underline;text-decoration-color:#c4a271;text-decoration-thickness:1px;text-underline-offset:4px;}
.price-preview .price-service-name:is(:hover,:focus-visible){color:#765127;text-decoration-color:currentColor;}
.price-preview .price-row-name p{font-size:.875rem;margin:0;color:#62584e;}
.price-preview .price-row .price-value{font-size:1.65rem;}
.price-preview .price-row .price-duration{font-size:.8125rem;margin-bottom:0;}
.price-preview .price-row-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.price-preview .price-row-links .mg-booking{width:100%;min-height:52px;font-size:1rem;}
.price-preview .price-description{font-size:.9375rem;min-height:44px;display:inline-flex;align-items:center;}
.price-preview :is(a,button,input,summary):focus-visible{outline:3px solid #765127;outline-offset:4px;}
.price-preview .price-shell [hidden]{display:none!important;}
.price-preview .price-shell :is(h1,h2,h3,h4,p,a){overflow-wrap:anywhere;}
/* Titles can use the room beside the narrower price and reading columns. */
@media screen and (min-width:1024px){
 .price-preview .price-heading{width:min(1440px,calc(100vw - 96px));margin-inline:calc((100% - min(1440px,100vw - 96px))/2);}
}
@media(max-width:720px){
 .price-preview .price-shell{width:calc(100% - 32px);}
 .price-preview .price-heading{margin:8px 0 22px;}
 .price-preview .price-heading h1{font-size:2rem;}
 .price-preview .price-lead{font-size:1rem;line-height:1.55;}
 .price-preview .price-option-list{grid-template-columns:1fr;gap:14px;}
 .price-preview .price-option{padding:18px;}
 .price-preview .price-option h3{font-size:1.5rem;}
 .price-preview .price-options+.mg-page-photo{margin-top:24px;}
 .price-preview .price-details>summary{padding:16px;gap:12px;}
 .price-preview .price-details-body{padding:0 16px 18px;}
 .price-preview .price-rows{padding:0 16px;}
 .price-preview .price-row{grid-template-columns:1fr;gap:14px;padding:22px 0;}
 .price-preview .price-row-links{flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px 20px;}
 .price-preview .price-row-links .mg-booking{width:190px;max-width:100%;}
}
.large-text .price-preview :is(.price-option-list,.price-row){grid-template-columns:1fr;}
@media print{
 .price-preview::before,.price-preview .hd-header,.price-preview .mg-site-information,.price-preview .mg-area-discovery,.price-preview .price-back,.price-preview .price-expansion,.price-preview .price-search,.price-preview .mg-page-photo{display:none!important;}
 .price-preview,.price-preview .price-shell{background:white!important;color:black;width:100%;max-width:none;}
 .price-preview .price-shell :is(.price-family,.price-row)[hidden]{display:block!important;}
 .price-preview .price-shell [data-price-empty],.price-preview .price-expansion{display:none!important;}
 .price-preview details::details-content{display:block!important;content-visibility:visible!important;height:auto!important;}
 .price-preview details>:not(summary){display:block!important;}
 .price-preview .price-details{break-inside:auto;}
 .price-preview summary{break-after:avoid;}
 .price-preview .price-row{break-inside:avoid;}
 .price-preview .price-option-list{display:block;}
}

.price-preview .price-reading-title{font:400 1.9rem/1.3 var(--mg-serif);margin:0 0 12px;}
.price-preview .price-invitation{margin-top:24px;line-height:1.75;}
.price-preview .price-reading>.price-details:last-of-type{border-bottom:1px solid #c4a271;}

/* One treatment row keeps the actual visit and package options side by side. */
.price-group{margin:36px 0;}
.price-group>h2{font:400 1.9rem/1.3 var(--mg-serif);margin:0 0 16px;}
.price-family-device{display:block;font:.875rem/1.45 'Segoe UI',sans-serif;color:#766451;margin-top:3px;}
.grouped-price-table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left;}
.grouped-price-table th{font-weight:400;}
.grouped-price-table thead th{font:.8125rem/1.4 'Segoe UI',sans-serif;color:#766451;padding:12px 20px;border-top:1px solid #decbb0;}
.grouped-price-table th:first-child{width:46%;}
.price-preview .grouped-price-table .price-row{display:table-row;}
.grouped-price-table :is(td,th[scope=row]){padding:20px;vertical-align:top;border-top:1px solid #decbb0;}
.price-preview .grouped-price-table .price-row-name{font:400 1.25rem/1.4 var(--mg-serif);}
.price-preview .grouped-price-table .price-value{font-size:1.5rem;margin:0 0 4px;}
.price-preview .grouped-price-table .price-duration{margin:0;font-size:.8125rem;color:#766451;}
.price-visit-count{font-size:.875rem;margin:0 0 4px;}
.price-reserve{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:.875rem;color:#765127;}
.price-entry+.price-entry{margin-top:16px;}
.price-no-package{color:#766451;}
.price-consultation{background:#fffaf2d9;border:1px solid #c4a271;}
.price-consultation .grouped-price-table :is(td,th){border:0;vertical-align:middle;}
.price-consultation td:last-child{display:none;}
.price-consultation td[data-label]{text-align:right;}
.price-consultation th:first-child{width:65%;}
@media(max-width:720px){
 .grouped-price-table thead{display:none;}
 .price-preview .grouped-price-table .price-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0;padding:16px;}
 .grouped-price-table :is(td,th[scope=row]){display:block;padding:0;border:0;}
 .grouped-price-table th:first-child{grid-column:1/-1;width:auto;margin-bottom:12px;}
 .grouped-price-table td+td{padding-left:12px;}
 .grouped-price-table td[data-label]::before{content:attr(data-label);display:block;color:#766451;font-size:.8125rem;margin-bottom:6px;}
 .price-consultation .price-row{border:0;}
 .price-consultation .grouped-price-table th:first-child{grid-column:auto;margin:0;padding-right:12px;}
 .price-consultation td[data-label]::before{display:none;}
 .price-preview .grouped-price-table .price-value{font-size:1.4rem;}
}
.large-text .price-preview .grouped-price-table .price-row{display:grid;grid-template-columns:1fr;}
.large-text .grouped-price-table th:first-child{width:auto;}
@media print{.price-preview .price-group[hidden],.price-preview .price-consultation[hidden]{display:block!important;}.price-preview .grouped-price-table .price-row[hidden]{display:table-row!important;}.price-reserve{display:none;}}
.price-saving{color:#78532e;font-weight:600;margin:0 0 20px;}
.price-preview .price-family>summary h3{flex:1;min-width:0;}
.price-preview .price-family-start{font:400 1.2rem/1.4 var(--mg-serif);color:#79552e;white-space:nowrap;}
@media(max-width:600px){
 .price-preview .price-family>summary{gap:10px;padding:16px 12px;}
 .price-preview .price-family>summary h3{font-size:1.15rem;}
 .price-preview .price-family-start{font-size:1rem;}
}

.price-preview .price-consultation td:last-child{display:none;}
