/*
Theme Name: Sorihome Woodmart Child
Theme URI: https://sorihome.de
Template: woodmart
Author: Sorihome
Author URI: https://sorihome.de
Description: Child-Theme für Sorihome auf Basis von Woodmart (XTemos).
Tags: one-column,two-columns,right-sidebar,custom-header,custom-menu,editor-style,featured-images,microformats,post-formats,sticky-post,translation-ready
Version: 1.0.6
Updated: 2026-10-29 22:44:51

*/



/* Sorihome: ruhige Grundgestaltung und responsiver Startseiten-Hero. */
:root { --sori-ink:#283026; --sori-olive:#343b2e; --sori-paper:#f8f5f0; --sori-sand:#eee8df; }
body { color:var(--sori-ink); font-family:Arial,Helvetica,sans-serif; }
h1,h2,h3,h4,h5,h6,.elementor-heading-title { font-family:Georgia,'Times New Roman',serif; font-weight:400; color:var(--sori-ink); }
.elementor-widget-button .elementor-button { background:var(--sori-olive); color:#fff; border-radius:2px; padding:16px 25px; font-family:Arial,Helvetica,sans-serif; font-size:15px; font-weight:600; line-height:1.3; }
.elementor-widget-button .elementor-button:hover { background:#242b20; color:#fff; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid #596b43; outline-offset:4px; }
.elementor .elementor-element.sorihome-hero { position:relative; isolation:isolate; overflow:hidden; background:var(--sori-paper); }
.elementor .elementor-element.sorihome-hero::before { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#f8f5f0 0%,#f8f5f0 34%,rgba(248,245,240,.96) 43%,rgba(248,245,240,.2) 62%,rgba(248,245,240,0) 76%); }
.elementor .elementor-element.sorihome-hero > .e-con-inner { position:relative; width:100%; max-width:none; min-height:520px; padding:60px max(4.5vw,24px); gap:18px; justify-content:center; align-items:flex-start; }
.elementor .elementor-element.sorihome-hero .e-con-inner > .elementor-widget:not(.elementor-widget-image) { position:relative; z-index:2; width:45%; max-width:650px; }
.elementor .elementor-element.sorihome-hero .elementor-heading-title { font-size:clamp(36px,3.6vw,64px); line-height:1.08; letter-spacing:-.035em; margin:0; }
.elementor .elementor-element.sorihome-hero .elementor-widget-text-editor { font-size:17px; line-height:1.6; }
.elementor .elementor-element.sorihome-hero .elementor-widget-text-editor p { margin:0; }
.elementor .elementor-element.sorihome-hero .e-con-inner > .elementor-widget-text-editor:first-child { font-size:12px; text-transform:uppercase; letter-spacing:.15em; }
.elementor .elementor-element.sorihome-hero .e-con-inner > .elementor-widget-image { position:absolute; inset:0; width:100%; height:100%; z-index:0; margin:0; }
.elementor .elementor-element.sorihome-hero .elementor-widget-image img { width:100%; height:100%; object-fit:cover; object-position:center; }
@media (min-width:1500px) { .elementor .elementor-element.sorihome-hero > .e-con-inner { min-height:600px; } }
@media (max-width:1024px) { .elementor .elementor-element.sorihome-hero > .e-con-inner { min-height:460px; padding:44px 28px; } .elementor .elementor-element.sorihome-hero .e-con-inner > .elementor-widget:not(.elementor-widget-image) { width:50%; } .elementor .elementor-element.sorihome-hero .elementor-heading-title { font-size:38px; } }
@media (max-width:767px) { .elementor .elementor-element.sorihome-hero::before { display:none; } .elementor .elementor-element.sorihome-hero > .e-con-inner { min-height:0; padding:34px 22px 0; gap:17px; } .elementor .elementor-element.sorihome-hero .e-con-inner > .elementor-widget:not(.elementor-widget-image) { width:100%; max-width:none; } .elementor .elementor-element.sorihome-hero .elementor-heading-title { font-size:clamp(33px,8.7vw,48px); line-height:1.1; } .elementor .elementor-element.sorihome-hero .elementor-widget-text-editor { font-size:16px; } .elementor .elementor-element.sorihome-hero .e-con-inner > .elementor-widget-image { position:relative; inset:auto; height:auto; width:calc(100% + 44px); max-width:none; margin:16px -22px 0; } .elementor .elementor-element.sorihome-hero .elementor-widget-image img { display:block; height:auto; object-fit:contain; } }

/* Startseite nutzt die volle Inhaltsbreite des Themes. */
body:is(.page-id-2,.page-id-52) .wd-content-layout { max-width:none; width:100%; padding:0; }

/* Editierbare Elementor-Bausteine für Startseite, Inhalte und Footer. */
.elementor .elementor-element.sorihome-brand-strip { padding:0; background:#f8f5f0; border-bottom:1px solid #e3ddd3; }
.elementor .elementor-element.sorihome-brand-strip > .e-con-inner { max-width:1222px; padding:24px; align-items:center; justify-content:center; }
.sorihome-brand-strip p { margin:0; text-align:center; font:24px/1.6 Georgia,serif; }
.elementor .elementor-element.sorihome-section-heading > .e-con-inner { max-width:1222px; padding:52px 24px 18px; }
.sorihome-section-heading h2,.sorihome-featured h2 { font-size:38px; line-height:1.2; }
.elementor .elementor-element.sorihome-category-grid > .e-con-inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; max-width:1222px; padding:0 24px 52px; }
.elementor .elementor-element.sorihome-category-card,.elementor .elementor-element.sorihome-category-card > .e-con-inner { padding:0; gap:12px; width:100%; min-width:0; }
.sorihome-category-card img { display:block; width:100%; aspect-ratio:1/1; object-fit:contain; background:#f1ede7; }
.sorihome-category-card h3 { font-size:27px; line-height:1.2; margin:0; }
.sorihome-category-card .elementor-button { background:transparent; color:#343b2e; padding:0 0 3px; border-radius:0; border-bottom:1px solid #777e70; font-weight:400; }
.sorihome-category-card .elementor-button:hover { background:transparent; color:#20271e; }
.elementor .elementor-element.sorihome-featured > .e-con-inner { max-width:1222px; padding:20px 24px 52px; gap:24px; }
.sorihome-featured:not(:has(.product)) { display:none; }
.elementor .elementor-element.sorihome-trust { background:#f8f5f0; padding:0; border-top:1px solid #e3ddd3; border-bottom:1px solid #e3ddd3; }
.elementor .elementor-element.sorihome-trust > .e-con-inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:1222px; padding:26px 24px; gap:30px; text-align:center; }
.sorihome-trust p { margin:0; font-size:15px; line-height:1.7; }
.elementor .elementor-element.sorihome-story { padding:0; background:#e3e5d9; }
.elementor .elementor-element.sorihome-story > .e-con-inner { max-width:900px; padding:64px 24px; gap:22px; text-align:center; align-items:center; }
.sorihome-story h2 { font-size:43px; line-height:1.13; }
.sorihome-story p { max-width:680px; font-size:17px; line-height:1.7; margin:0 auto; }
.elementor .elementor-element.sorihome-seo > .e-con-inner { max-width:1000px; padding:52px 24px; gap:18px; }
.sorihome-seo h2 { font-size:30px; }
.sorihome-seo p { color:#53594f; font-size:16px; line-height:1.8; }
.elementor .elementor-element.sorihome-content > .e-con-inner { max-width:1000px; padding:24px 24px 54px; gap:24px; }
.sorihome-content h1 { font-size:clamp(34px,3.6vw,52px); line-height:1.12; margin:0 0 6px; }
.sorihome-content h2 { font-size:30px; line-height:1.25; margin:12px 0 0; }
.sorihome-content p { font-size:16px; line-height:1.8; }
.elementor .elementor-element.sorihome-footer > .e-con-inner { display:grid; grid-template-columns:180px 1fr 1fr; max-width:1222px; padding:48px 24px 30px; gap:28px; align-items:start; }
.sorihome-footer .elementor-widget-image img { width:180px; height:auto; }
.sorihome-footer .elementor-widget:last-child { grid-column:1/-1; }
.sorihome-footer p { margin:0; font-size:14px; line-height:1.9; }
@media(max-width:767px) { .sorihome-brand-strip p { font-size:21px; } .elementor .elementor-element.sorihome-section-heading > .e-con-inner { padding:34px 22px 14px; } .sorihome-section-heading h2 { font-size:31px; } .elementor .elementor-element.sorihome-category-grid > .e-con-inner { grid-template-columns:1fr; gap:32px; padding:0 22px 38px; } .elementor .elementor-element.sorihome-trust > .e-con-inner { grid-template-columns:1fr; gap:18px; padding:24px 22px; } .elementor .elementor-element.sorihome-story > .e-con-inner { padding:40px 22px; } .sorihome-story h2 { font-size:33px; } .elementor .elementor-element.sorihome-seo > .e-con-inner { padding:36px 22px; } .elementor .elementor-element.sorihome-content > .e-con-inner { padding:14px 8px 34px; } .elementor .elementor-element.sorihome-footer > .e-con-inner { grid-template-columns:1fr; padding:34px 22px; gap:20px; } }

/* Dropdowns bleiben beim Tastaturfokus bedienbar. */
.whb-header .wd-nav-header .menu-item-has-children:focus-within > .wd-dropdown { visibility:visible; opacity:1; pointer-events:auto; transform:translateY(0); }

.whb-header .whb-header-bottom { position:relative; }
.whb-header .wd-nav-header > .menu-mega-dropdown:focus-within { position:static; }
.whb-header .wd-nav-header > .menu-mega-dropdown:focus-within > .wd-design-full-width { left:0; right:0; top:100%; width:100%; max-width:100vw; max-height:calc(100vh - 180px); overflow-y:auto; }
