/* Blazor/Elementor bridge. Design values live in php-original.css; this file
   replaces only Elementor's container mechanics and the former Blazor selectors. */
:root { --header-height:var(--hodh-h); --dark:var(--hod-dark); }
html { scroll-padding-top:calc(var(--hodh-h) + 16px); }
.hod-s,.hod-s .e-con { padding:var(--padding-top,0) var(--padding-right,0) var(--padding-bottom,0) var(--padding-left,0); }
.hod-s > * { min-width:0; }
.hod-s .hod-knapp { flex:none; }
.original-header .brand { width:66px; display:block; }
.original-header .main-nav { gap:1.9rem; }
.original-header .main-nav a { color:#2b2725; font:400 .75rem var(--hod-font-ui); letter-spacing:.14em; text-transform:uppercase; }
.original-header .main-nav .offer-link { border:1px solid #2b272566; padding:.65rem .95rem; }
.original-header .main-nav .offer-link:hover { background:#2b2725; color:white; }
.original-header .main-nav a.active::after { transform:scaleX(1); }
.original-header .material-menu { background:var(--hod-sand); }
.original-header .menu-toggle { color:#2b2725; }
.original-header .nav-materials summary { font-size:.75rem; }
.hod-cta svg { width:16px; height:16px; fill:currentColor; }
.hodf__menu > a { display:block; font-size:.62rem; letter-spacing:.22em; text-transform:uppercase; line-height:1.8; }
.hodf__logo { display:block; align-self:center; margin:.5rem auto 0; }
.hodf__right { min-width:0; flex-wrap:wrap; }
.hodf__social { flex-basis:100%; }
.hod-s .hero-slides { z-index:-2; }
.hod-s .hero-shade { z-index:-1; background:linear-gradient(to bottom,#0005,#0003 45%,#0005); }
.hod-s .hero-slide { animation:originalFade 60s infinite,originalZoom 11s ease-out infinite; }
.hod-s .hero-slide-0 { animation-delay:0s; }
.hod-s .hero-slide-1 { animation-delay:10s; }
.hod-s .hero-slide-2 { animation-delay:20s; }
.hod-s .hero-slide-3 { animation-delay:30s; }
.hod-s .hero-slide-4 { animation-delay:40s; }
.hod-s .hero-slide-5 { animation-delay:50s; }
@keyframes originalFade { 0%,12% {opacity:1} 16%,96% {opacity:0} 100% {opacity:1} }
@keyframes originalZoom { from {transform:scale(1)} to {transform:scale(1.06)} }
.hod-quote blockquote { margin:0; }
.hod-quote__body > strong { display:block; font:400 15px var(--hod-font-ui); margin:0 0 .2em; }
.hod-tile { grid-template-columns:repeat(2,minmax(0,1fr)); }
.hod-tile:nth-child(even) > .hod-tile__media { order:2; }
.hod-tile .hod-tile__media { min-width:0; display:block; }
.hod-tile .hod-tile__card { background:white; min-width:0; }
.hod-tile .hod-tile__card > h3 { flex:none; }
.hod-tile__text { width:100%; }
.hod-tile__text p { margin:0; }
.hod-tile .hod-knapp { margin-top:1.4rem; }
.hod-tile__img img { transition:transform 1.2s var(--hod-ease); }
.hod-tile__img:hover img { transform:scale(1.06); }
.hod-materials .hod-card { min-width:0; }
.original-split { min-height:100svh; }
.original-split.hod-cat { min-height:calc(100svh - 104px); }
.original-split .hod-cat__body,.original-split .hod-split__body { padding-top:calc(var(--hodh-h) + clamp(1.5rem,4vw,4rem)); }
.original-split .hod-split__text h1 { font-size:var(--hod-h1-size); }
.original-split .hod-cat__text .hod-h3 { white-space:normal; }
.original-material .category-bar { justify-content:flex-start; padding:1.6rem 4rem; min-height:104px; font-family:var(--hod-font-ui); font-size:.6875rem; }
.original-catalog { background:var(--hod-sand); padding:var(--hod-space) var(--hod-gutter); }
.original-catalog > .eyebrow { margin-bottom:.9em; }
.original-catalog > h2 { margin-bottom:3rem; }
.original-catalog .catalog-tools { max-width:480px; margin:0 auto 3rem; position:relative; }
.original-catalog .catalog-tools > label:first-child { font-size:0; }
.original-catalog .catalog-tools input { background:transparent; border:0; border-bottom:1px solid #46403d73; font:300 16px var(--hod-font-ui); padding:.95rem 2.2rem; min-height:0; }
.original-catalog .catalog-tools label:not(:first-child),.original-catalog .catalog-tools > button { display:none; }
.original-catalog > p[role=status] { text-align:center; font:300 .6875rem var(--hod-font-ui); letter-spacing:.2em; text-transform:uppercase; }
.original-catalog .stone-grid { max-width:1240px; margin:auto; gap:clamp(.5rem,1.2vw,1rem); }
.original-bar .hod-bar { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:0; }
.original-bar-group { padding:0 2rem; border-left:1px solid #46403d73; }
.original-bar-group:first-child { padding-left:0; border:0; }
.bar-toggle { display:block; border:0; padding:0; margin:0 0 .35rem; background:none; color:inherit; font:400 1rem var(--hod-font-sc); letter-spacing:.24em; text-transform:uppercase; cursor:pointer; }
.bar-panel { display:flex; gap:1.25rem; }
.original-bar .hod-farger { align-items:center; }
.original-catalog .stone-card { padding:.75rem .75rem 1.1rem; text-align:left; }
.original-catalog .stone-card:hover { background:var(--hod-paper); }
.original-catalog .stone-offer-overlay { position:absolute; inset:0; display:grid; place-items:center; background:rgba(46,42,40,.58); color:#fff; font:300 .68rem var(--hod-font-ui); letter-spacing:.22em; text-transform:uppercase; opacity:0; transform:translateY(4px); transition:opacity .35s var(--hod-ease),transform .35s var(--hod-ease); }
.original-catalog .hod-sten__link:hover .stone-offer-overlay,.original-catalog .hod-sten__link:focus-visible .stone-offer-overlay { opacity:1; transform:none; }
.original-catalog .stone-swatch span { background:none; font-size:.56rem; letter-spacing:.24em; text-transform:uppercase; color:#46403d99; }
.service-process-link { display:flex; justify-content:center; margin-top:2.5rem; }
.service-page--showroom .split-section > img,.service-page--showroom .split-section > div,.service-page--projekt .split-section > img,.service-page--projekt .split-section > div { aspect-ratio:1; min-height:0; }
.service-page .split-section > div { min-width:0; overflow-wrap:anywhere; }
.processing-menu { display:grid; gap:.3rem; margin-top:.35rem; padding-top:.55rem; border-top:1px solid rgba(70,64,61,.25); }
.processing-menu__children { display:grid; gap:.25rem; padding-left:.85rem; border-left:1px solid rgba(70,64,61,.35); }
.processing-menu__children a { font-size:.62rem; }
.original-price { background:var(--hod-taupe); color:white; padding:var(--hod-space) var(--hod-gutter); }
.original-price .eyebrow { display:none; }
.original-price h2 { font-size:var(--hod-h2-size); }
.original-price p { font:300 15px var(--hod-font-body); }
.original-processing > .content-section { background:var(--hod-paper); }
.original-processing .profile-card { text-align:left; padding:0; background:transparent; }
.original-processing .profile-card svg { background:var(--hod-sand); width:100%; height:190px; padding:1.5rem; margin-bottom:1rem; }
.original-processing .profile-card h3 { font:300 .6875rem var(--hod-font-ui); letter-spacing:.24em; border-bottom:1px solid var(--hod-dark); padding-bottom:.8rem; margin-bottom:.8rem; }
.original-processing .profile-card p { font:300 .85rem/1.7 var(--hod-font-body); }
.original-processing .two-columns { max-width:900px; margin:auto; }
.original-processing .two-columns .material-card { text-align:left; }
.original-processing .two-columns img { aspect-ratio:4/3; }
.original-contact-section .original-contact-form { max-width:none; margin:0; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); grid-template-rows:repeat(5,auto); gap:.75rem 1rem; }
.original-contact-form > label { grid-column:1; display:block; }
.original-contact-form > .message-field { grid-column:2; grid-row:1 / span 5; display:flex; }
.original-contact-form input,.original-contact-form textarea { background:#ffffffcc; border:1px solid transparent; color:var(--hod-dark); padding:.55rem .7rem; font:300 .9375rem var(--hod-font-ui); letter-spacing:.02em; }
.original-contact-form input::placeholder,.original-contact-form textarea::placeholder { color:var(--hod-dark); text-transform:uppercase; opacity:1; }
.original-contact-form input::placeholder { font-size:.6875rem; letter-spacing:.14em; }
.original-contact-form textarea::placeholder { font-size:.75rem; letter-spacing:.14em; opacity:.8; }
.original-contact-form textarea { flex:1; min-height:310px; text-align:center; padding:3.2rem 1.5rem 1rem; }
.original-contact-form .send-contact { grid-column:2; justify-self:end; color:white; margin-top:0; }
.original-contact-section .hod-contact__note { margin-top:1rem; font:300 15px/1.7 var(--hod-font-ui); }
.original-contact-section .form-feedback { color:var(--hod-dark); }
.original-contact-section .hod-contact__note a { text-decoration:underline; }
.original-offer .hod-offert__intro { padding:0; background:none; }
.original-offer .offer-intro { color:var(--hod-dark); background:var(--hod-paper); padding:1rem; }
.original-offer .offer-intro > p:not(.selected-stone) { font-size:.8rem; margin:0; }
.original-offer .offer-intro .outline-button { font-size:.65rem; padding:.5rem; min-height:0; margin:.5rem; }
.original-offer .offer-frame { min-height:1150px; }
.content-section.original-instagram { padding:6rem max(1.5rem,calc((100vw - 1040px)/2)); }
.original-instagram .instagram-heading h2 { font:400 2.4rem var(--hod-font-sc); text-transform:uppercase; letter-spacing:.08em; }
.original-instagram .instagram-heading .eyebrow { font:300 .6875rem var(--hod-font-ui); letter-spacing:.12em; }
.original-instagram .carousel-controls { margin:.2rem 0; }
.original-instagram .carousel-controls button { min-width:32px; min-height:32px; padding:.1rem .4rem; font-size:1rem; }
.original-instagram .instagram-track { gap:.75rem; }
.original-instagram .instagram-track li { flex-basis:calc((100% - 2.25rem)/4); }
.original-instagram .instagram-track li { min-width:0; }
.original-processing > .reading-section,.original-material > .reading-section { max-width:none; background:white; text-align:center; padding:var(--hod-space) max(1.5rem,calc((100% - 620px)/2)); }
.original-processing > .reading-section h2,.original-material > .reading-section h2 { margin:0 0 1.5rem; }
.original-instagram .feed-note { font-size:.65rem; margin:.5rem 0; }
/* Approved extra pages inherit the original type scale instead of the old oversized design. */
.content-section > h2,.page-cta h2,.information-heading h1,.split-section h1,.split-section h2,.reading-section h2,.sitemap-grid h2,.brand-grid h2,.three-columns h2,.three-columns h3 { font:400 var(--hod-h2-size)/1.3 var(--hod-font-sc); letter-spacing:var(--hod-h2-track); text-transform:uppercase; }
.information-heading h1 { font:300 var(--hod-h1-size)/1.25 var(--hod-font-display); letter-spacing:var(--hod-h1-track); }
.page-hero h1 { font:300 var(--hod-h1-size)/1.25 var(--hod-font-display); letter-spacing:var(--hod-h1-track); text-transform:uppercase; }
.page-hero > div > p:last-child { font:400 .95rem var(--hod-font-sc); letter-spacing:.3em; text-transform:uppercase; }
.content-section { padding:var(--hod-space) var(--hod-gutter); }
.three-columns { max-width:1040px; margin:auto; text-align:center; gap:4rem; }
.three-columns .lead { font:300 italic 1rem var(--hod-font-display); }
.three-columns p { font-size:15px; }
.bracket-link { font:300 .875rem var(--hod-font-body); letter-spacing:.06em; text-transform:none; }
.breadcrumbs { display:none; }
.original-stone-hero { min-height:100svh; }
.original-stone-columns { background:var(--hod-sand); }
.original-stone-hero .eyebrow { display:none; }
.original-stone-hero > .hod-bildspel { position:absolute; inset:0; z-index:0; }
.original-stone-hero > div:last-child { position:relative; z-index:1; }
.original-stone-hero > div:last-child > h1 { font-size:clamp(2rem,1.3rem + 2.4vw,3.4rem); }
.page-hero .hero-slides { position:absolute; }
.page-hero .hero-slide { width:100%; height:100%; }
.page-cta .eyebrow,.content-section > .eyebrow { font:300 .6875rem var(--hod-font-ui); letter-spacing:.32em; }
@media(min-width:981px) { .original-material .hod-split__img img { position:absolute; inset:0; } }
@media(max-width:1100px) {
 .original-header .menu-toggle { display:block; position:relative; z-index:2; }
 .original-header .main-nav { position:fixed; inset:0; flex-direction:column; justify-content:flex-start; padding:5.5rem 1rem 2rem; opacity:0; visibility:hidden; pointer-events:none; }
 .menu-open .original-header .main-nav { opacity:1; visibility:visible; pointer-events:auto; }
 .original-header .main-nav { background:var(--hod-sand); gap:1rem; }
 .original-header .material-menu { max-height:55svh; width:min(88vw,320px); }
 .original-header .main-nav a { font-size:.78rem; }
 .original-header .brand { position:relative; z-index:2; }
}
@media(max-width:980px) {
 .hodf__logo { display:block; }
 .original-split { min-height:0; }
 .original-split.hod-cat { min-height:0; }
 .hodf__right { gap:2rem; }
 .hodf__menu > a { white-space:normal; }
}
@media(max-width:767px) {
 .original-header .brand { width:56px; }
 .original-header .main-nav { padding-top:5rem; }
 .menu-open .original-header .main-nav:has(details[open]) { gap:.45rem; }
 .original-header .material-menu { max-height:62svh; padding:.8rem 1rem; }
 .original-header .material-menu a { padding:.35rem 0; }
 .hod-cta { display:flex; gap:.6rem; align-items:center; }
 .hod-tile { grid-template-columns:minmax(0,1fr); }
 .hod-tile:nth-child(even) > .hod-tile__media { order:0; }
 .hod-tile .hod-tile__text { overflow:hidden; }
 .hod-tile .hod-tile__text p { font-size:.76rem; line-height:1.7; }
 .hod-tile .hod-knapp { margin-top:1rem; }
 .hodf__menu > a { font-size:.54rem; letter-spacing:.1em; line-height:2.2; }
 .original-split .hod-cat__body,.original-split .hod-split__body { padding-top:3.5rem; }
 .original-split .hod-cat__over .hod-cat__over-s { white-space:normal; }
 .hod-sida-keramik .hod-cat,.hod-sida-granit .hod-cat { --hod-over-styrka:.52; }
 .hod-sida-kalksten .hod-cat .hod-split__img img { object-position:0% 50%; transform:scale(1.5); transform-origin:0% 100%; }
 .hod-sida-kvartskomposit .hod-cat .hod-split__img img,.hod-sida-kvartsit .hod-cat .hod-split__img img { object-position:50% 0%; }
 .hod-sida-marmor .hod-cat .hod-split__img img { transform:scale(1.35); transform-origin:40% 0%; }
 .original-material .category-bar { min-height:0; padding:1rem; gap:.75rem; justify-content:center; }
 .original-bar.hod-s { padding:0; }
 .original-bar .hod-bar { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; }
 .original-bar-group,.original-bar-group:first-child { padding:0; border:0; }
 .bar-toggle { width:100%; min-height:70px; padding:1rem .4rem; border-left:1px solid #46403d38; font-size:.85rem; letter-spacing:.12em; }
 .original-bar-group:first-child .bar-toggle { border-left:0; }
 .bar-panel { display:none; position:relative; padding:1rem .5rem; }
 .bar-panel.is-open { display:flex; flex-direction:column; }
 .original-bar .hod-farger { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:.6rem 1.1rem; width:100%; }
 .original-bar .hod-farger button { min-height:44px; padding:.6rem 0; justify-self:stretch; justify-content:flex-start; }
 .original-catalog .stone-grid { gap:.4rem; }
 .original-catalog .stone-card { padding:.5rem .5rem .9rem; }
 .original-contact-section .original-contact-form { grid-template-columns:minmax(0,1fr); }
 .original-contact-form > .message-field,.original-contact-form .send-contact { grid-column:1; grid-row:auto; }
 .original-contact-form .send-contact { justify-self:center; }
 .original-contact-form textarea { min-height:190px; }
 .original-contact-form input,.original-contact-form textarea { font-size:16px; }
 .original-contact-section .hod-contact__note { font-size:15px; }
 .content-section.original-instagram { padding:3.5rem 1rem; }
 .original-instagram .instagram-track li { flex-basis:calc((100% - 1.5rem)/3); }
 .original-instagram .instagram-heading { flex-direction:row; }
 .original-instagram .instagram-heading h2 { font-size:1.5rem; }
 .original-stone-hero { min-height:100svh; }
 .original-offer .offer-frame { min-height:1400px; }
 .three-columns { gap:3rem; }
 .service-page--showroom .split-section > div,.service-page--projekt .split-section > div { aspect-ratio:auto; }
 .service-page .split-section h1,.service-page .split-section h2,.service-page .split-section p { max-width:100%; overflow-wrap:anywhere; }
}
