@font-face{font-family:Manrope;src:url('../modern/Manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}:root{color-scheme:light;--ink:#151515;--muted:#5d5659;--forest:#171717;--paper:#fff;--surface:#fff;--line:#e2dcdd;--accent:#7a294b;--error:#a32932;--focus:#7a294b;--space:clamp(1rem,3vw,2rem)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:1rem;line-height:1.55}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.18em}a:hover{text-decoration-thickness:.12em}button,input,select,textarea{font:inherit}button,input[type=submit],.button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.15;overflow-wrap:anywhere}h1{font-size:clamp(2.2rem,5vw,4rem);font-weight:400}h2{font-size:clamp(1.55rem,3vw,2.4rem);font-weight:400}h3{font-size:1.25rem}p{max-width:72ch}.container{width:min(100% - 2 * var(--space),1280px);margin-inline:auto}.narrow{max-width:760px}.site-main{padding-block:clamp(2rem,5vw,4.5rem);min-height:45vh}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus,.skip-link:focus{position:fixed!important;z-index:9999;top:1rem;left:1rem;width:auto;height:auto;clip:auto;overflow:visible;margin:0;padding:.75rem;background:#fff;color:#111}.skip-link{position:absolute;left:-9999px}.site-header{background:#fff;color:var(--ink)}.header-top{min-height:5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.site-brand a,.footer-brand a{font-family:Georgia,serif;font-size:clamp(1.4rem,3vw,1.9rem);text-decoration:none;letter-spacing:-.035em}.custom-logo-link img{width:auto;max-width:240px;max-height:70px}.header-tools{display:flex;gap:1.1rem;align-items:center;flex-wrap:wrap}.header-tools a{min-height:44px;display:inline-flex;align-items:center;gap:.45rem;font-size:.95rem}.cart-count{min-width:1.6rem;display:inline-grid;place-items:center;border:1px solid #b6abad;border-radius:50%;font-size:.85rem}.header-search{padding-bottom:1.15rem}.site-search{display:flex;width:min(100%,630px);gap:0}.site-search input[type=search]{flex:1;min-width:0;border:1px solid var(--line);border-radius:0;padding:.75rem .9rem;background:#fff;color:#151515;min-height:48px}.site-search button,.menu-toggle{border:1px solid #b6abad;background:transparent;color:var(--ink);padding:.7rem 1rem;min-height:48px}.site-search button:hover,.menu-toggle:hover{background:#f6e9ec}.primary-navigation{border-top:1px solid var(--line)}.primary-navigation[hidden]{display:none}.primary-menu,.primary-navigation .menu,.footer-menu{display:flex;gap:.4rem 1.5rem;flex-wrap:wrap;list-style:none;padding:0;margin:0}.primary-menu li,.primary-navigation .menu li{position:relative}.primary-menu a,.primary-navigation .menu a{display:inline-flex;align-items:center;min-height:50px;text-decoration:none}.primary-menu a:hover,.primary-menu .current-menu-item>a{text-decoration:underline}.primary-menu .sub-menu{display:none;position:absolute;z-index:20;top:100%;left:0;background:#fff;padding:.7rem 1rem;min-width:220px;list-style:none;box-shadow:0 8px 20px #0002}.primary-menu li:hover>.sub-menu,.primary-menu li:focus-within>.sub-menu{display:block}.site-footer{background:#faf8f8;border-top:1px solid var(--line);padding:3rem 0}.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;flex-wrap:wrap}.footer-menu{gap:.75rem 1.25rem}.page-heading{margin-bottom:2rem}.page-heading h1{margin:.2em 0}.entry-content{max-width:76ch}.page-main:has(.woocommerce),.page-main:has(.wc-block-checkout),.page-main:has(.wc-block-cart){max-width:1280px}.page-main:has(.woocommerce) .entry-content,.page-main:has(.wc-block-checkout) .entry-content,.page-main:has(.wc-block-cart) .entry-content{max-width:none}.article-image{margin-bottom:2rem}.content-list-item{border-top:1px solid var(--line);padding:1.25rem 0}.content-list-item h2{margin:.2rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700;color:var(--muted)}.front-section{padding-top:clamp(2.25rem,5vw,4.5rem)}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}.section-heading h2{margin:0}.category-links{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}.category-links li{border-bottom:1px solid var(--line)}.category-links a{min-height:68px;padding:1rem .75rem;display:flex;justify-content:space-between;align-items:center;text-decoration:none;gap:1rem}.category-links a:hover{background:#f9f3f5}.pagination,.woocommerce-pagination{margin:2rem 0}.page-numbers{display:flex;gap:.5rem;list-style:none;padding:0}.page-numbers a,.page-numbers span{padding:.6rem;border:1px solid var(--line)}
/* WooCommerce vastaa edelleen tuotteiden, ostoskorin ja maksamisen toiminnasta. */
.woocommerce .woocommerce-breadcrumb{font-size:.9rem;color:var(--muted);margin-bottom:1.5rem}.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem 1.25rem;margin:0;padding:0}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{float:none;width:auto!important;margin:0!important;min-width:0}.woocommerce ul.products li.product a img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--surface);margin:0 0 .9rem}.woocommerce ul.products li.product .woocommerce-loop-product__title{font:500 1.05rem/1.35 Manrope,Arial,sans-serif;padding:0;margin:0 0 .35rem}.woocommerce ul.products li.product .price{color:var(--ink);font-size:1rem;font-weight:700}.woocommerce span.onsale{background:var(--forest);color:#fff}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wp-block-woocommerce-proceed-to-checkout-block a,.wc-block-components-button{border-radius:0;background:var(--forest);color:#fff;padding:.8rem 1.1rem;min-height:48px;font-weight:650}.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover{background:var(--accent);color:#fff}.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{opacity:.6}.woocommerce div.product div.images img{background:var(--surface)}.woocommerce div.product .product_title{font-size:clamp(2rem,4vw,3rem)}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink);font-size:1.35rem;font-weight:700}.woocommerce div.product form.cart .variations select{min-height:48px}.woocommerce .quantity .qty{min-height:48px;width:4.5rem}.woocommerce div.product .woocommerce-tabs ul.tabs li{border-radius:0}.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--accent);background:#f9f3f5;color:var(--ink)}.woocommerce-error{border-top-color:var(--error)}.woocommerce-error::before{color:var(--error)}.woocommerce-message::before,.woocommerce-info::before{color:var(--accent)}.woocommerce table.shop_table{background:var(--surface);border-color:var(--line);border-radius:0}.woocommerce table.shop_table td,.woocommerce table.shop_table th{padding:.8rem}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{padding:.75rem;min-height:48px;border:1px solid #8f8588;border-radius:0;background:#fff}.woocommerce form .form-row label{font-weight:600}.woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:var(--error)}.shop-filters{clear:both;border-block:1px solid var(--line);padding:1rem 0;margin:1.5rem 0;display:flex;gap:1.5rem;flex-wrap:wrap}.shop-widget .widget-title{font:600 1rem Manrope,Arial,sans-serif}.shop-widget ul{padding-left:1.2rem}.woocommerce-result-count,.woocommerce-ordering{margin:0 0 1rem}.woocommerce-ordering select{min-height:44px;padding:.4rem}.woocommerce div.product .woocommerce-tabs .panel{line-height:1.65}.woocommerce div.product .woocommerce-tabs .panel p{max-width:72ch}
/* Kori- ja kassalohkojen rakenne säilyy WooCommercelta. */
.wc-block-cart,.wc-block-checkout{color:var(--ink)}.wc-block-cart__main,.wc-block-checkout__main{min-width:0}.wc-block-cart__sidebar,.wc-block-checkout__sidebar{background:var(--surface);border:1px solid var(--line);padding:1rem}.wc-block-components-text-input input,.wc-block-components-combobox .components-combobox-control__input,.wc-block-components-address-form select{border-radius:0!important}.wc-block-components-notice-banner.is-error{border-color:var(--error)}.wc-block-components-notice-banner.is-info,.wc-block-components-notice-banner.is-success{border-color:var(--accent)}.wc-block-components-button:focus-visible,.wc-block-components-text-input input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{min-height:48px}
@media(max-width:800px){.category-links{grid-template-columns:repeat(2,minmax(0,1fr))}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-inner{display:grid;gap:1.25rem}}
@media(max-width:48rem){.header-top{min-height:4.5rem}.header-tools{gap:.7rem}.primary-menu,.primary-navigation .menu{display:block}.primary-menu a,.primary-navigation .menu a{min-height:48px}.primary-menu .sub-menu{display:block;position:static;padding:0 0 0 1rem}.site-main{padding-block:2rem}.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none;width:100%}.woocommerce table.shop_table_responsive tr td{overflow-wrap:anywhere}.wc-block-cart__sidebar,.wc-block-checkout__sidebar{margin-top:1rem}.shop-filters{display:block}}
@media(max-width:370px){.category-links{grid-template-columns:1fr}.header-tools{width:100%;justify-content:space-between}.woocommerce ul.products{gap:1rem .75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.primary-navigation .menu>ul{display:flex;gap:.4rem 1.5rem;flex-wrap:wrap;list-style:none;padding:0;margin:0}.primary-navigation .menu>ul>li{position:relative}.primary-navigation .menu .children{display:none;position:absolute;z-index:20;top:100%;left:0;background:#fff;padding:.7rem 1rem;min-width:220px;list-style:none;box-shadow:0 8px 20px #0002}.primary-navigation .menu li:hover>.children,.primary-navigation .menu li:focus-within>.children{display:block}
@media(max-width:48rem){.primary-navigation .menu>ul{display:block}.primary-navigation .menu .children{display:block;position:static;padding:0 0 0 1rem}}
/* Hers-viitteen mukainen, paikallisesti testattava 0.2-ilme. */
.site-header{border-bottom:1px solid #f2eded}.header-top{min-height:76px;display:grid;grid-template-columns:auto 1fr auto;gap:clamp(1rem,2vw,2rem);flex-wrap:nowrap}.site-brand a,.footer-brand a{font-family:Georgia,"Times New Roman",serif;font-weight:700;letter-spacing:-.05em}.site-brand a{font-size:clamp(1.35rem,2vw,1.95rem);white-space:nowrap}.primary-navigation{border:0;min-width:0;justify-self:center}.primary-menu,.primary-navigation .menu>ul{gap:.4rem 1.35rem;justify-content:center}.primary-menu a,.primary-navigation .menu a{font-size:.81rem;font-weight:600}.header-tools{justify-content:flex-end;gap:.8rem;flex-wrap:nowrap}.header-tools a{text-decoration:none;font-size:.8rem;font-weight:600}.account-link,.menu-toggle{border:1px solid #8f8588;border-radius:999px;padding:.5rem 1rem}.header-cart-link{white-space:nowrap}.header-search{padding:0 0 .7rem;display:flex;justify-content:flex-end}.site-search{max-width:360px}.site-search input[type=search]{min-height:40px;border-radius:999px 0 0 999px;padding:.5rem .9rem}.site-search button{min-height:40px;border-radius:0 999px 999px 0;border-color:var(--line);padding:.5rem 1rem}.front-page{width:100%;padding:0 0 5rem}.front-hero{position:relative;margin:0 14px;min-height:520px;height:clamp(480px,40vw,660px);border-radius:20px;overflow:hidden;background:#efc6c8}.front-hero-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}.front-hero-content{position:relative;width:53%;padding:clamp(64px,7vw,110px) 0 70px clamp(45px,7vw,110px)}.front-hero h1{font-size:clamp(38px,4vw,66px);font-weight:500;letter-spacing:-.04em;line-height:1.08;margin:0 0 28px;max-width:11ch}.front-hero p{max-width:430px;margin:0 0 26px;font-size:15px}.hero-link{border:1px solid #6d5c5e;border-radius:999px;display:inline-flex;align-items:center;gap:28px;min-height:46px;padding:12px 24px;text-decoration:none;font-size:12px;font-weight:600}.hero-link:hover{background:#ffffff55}.front-content{max-width:1360px}.front-section{padding-top:clamp(4rem,7vw,5rem)}.front-section .section-heading{margin-bottom:2rem}.front-section .section-heading h2{font-size:clamp(28px,3vw,42px);font-weight:500;letter-spacing:-.035em}.section-heading>a{font-size:.8rem}.category-links{border:0;gap:1rem}.category-links li{border:0}.category-links a{background:#f8f5f5;border-radius:14px;padding:1.25rem;min-height:92px;font-size:1rem}.category-links a:hover{background:#f3e4e7}.woocommerce ul.products li.product a img{border-radius:14px;background:#f8f6f5}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-weight:500}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wp-block-woocommerce-proceed-to-checkout-block a,.wc-block-components-button{border-radius:999px}.woocommerce table.shop_table,.wc-block-cart__sidebar,.wc-block-checkout__sidebar{border-radius:12px}.woocommerce div.product div.images img{border-radius:14px}.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{border-radius:4px}

/* Tuoteluettelon kortit venyvät saman rivin korkeuteen, jolloin toiminnot asettuvat alas. */
body.tax-product_cat.woocommerce ul.products li.product,
body.post-type-archive-product.woocommerce ul.products li.product {
  display: flex;
  flex-direction: column;
}
body.tax-product_cat.woocommerce ul.products li.product > .woocommerce-loop-product__link,
body.post-type-archive-product.woocommerce ul.products li.product > .woocommerce-loop-product__link {
  flex-grow: 1;
}
body.tax-product_cat.woocommerce ul.products li.product > .button,
body.post-type-archive-product.woocommerce ul.products li.product > .button {
  align-self: flex-start;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
@media(max-width:48rem){.header-top{grid-template-columns:minmax(0,1fr) auto;position:relative;min-height:68px;gap:.7rem}.site-brand a{font-size:1.35rem}.primary-navigation{grid-column:1/-1;grid-row:2;justify-self:stretch;width:100%}.primary-menu,.primary-navigation .menu>ul{text-align:left}.header-tools{grid-column:2;grid-row:1}.header-search{padding-bottom:.6rem}.site-search{max-width:none}.front-hero{margin:0 10px;min-height:630px;height:auto}.front-hero-image{object-position:66% center}.front-hero-content{width:100%;padding:42px 26px 370px}.front-hero h1{max-width:10ch;font-size:clamp(35px,8vw,48px)}.front-hero p{max-width:270px}.front-section{padding-top:3.5rem}.category-links{grid-template-columns:repeat(2,minmax(0,1fr))}.category-links a{min-height:80px;padding:1rem}.header-tools a{min-height:44px}}
@media(max-width:370px){.header-tools{width:auto;justify-content:flex-end}.category-links{grid-template-columns:1fr}}

@media(max-width:600px){.header-top{display:flex;flex-wrap:wrap;gap:.4rem;padding-block:.6rem}.site-brand{width:100%}.header-tools{width:100%;justify-content:flex-start;gap:.6rem}.header-tools a,.menu-toggle{font-size:.75rem}.primary-navigation{order:3;width:100%}.custom-logo-link img{max-height:46px}}
/* WooCommercen natiivi minikori. Datan, fokuksen ja toiminnan omistaa lohko. */
.dildokauppa-mini-cart{display:inline-flex;align-items:center}.dildokauppa-mini-cart .wc-block-mini-cart__button{min-width:44px;min-height:44px;color:#151515}.dildokauppa-mini-cart .wc-block-mini-cart__badge{background:#151515;color:#fff}.wc-block-mini-cart__drawer{font-family:Manrope,Arial,sans-serif;color:#151515;background:#fff}.wc-block-mini-cart__drawer .wc-block-components-button{border-radius:999px}.wc-block-mini-cart__drawer .wc-block-components-drawer__close:focus-visible,.dildokauppa-mini-cart button:focus-visible{outline:3px solid #7a294b;outline-offset:3px}

/* Selattava WooCommerce-tuoteryhmäpuu ja varmistettu toimituslupaus. */
.delivery-note{text-align:center;padding:.4rem 1rem;background:#f7e8ea;color:#241a20;font-size:.8rem;font-weight:600}
.site-brand .site-logo-link{display:block;width:clamp(150px,17vw,230px);line-height:0}.site-brand .site-logo{display:block;width:100%;height:auto}
.primary-navigation{display:flex;align-items:center;gap:1rem}.category-browser{position:relative;flex:none}.category-browser>summary,.category-tree summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:48px;font-size:.81rem;font-weight:600}.category-browser summary::-webkit-details-marker,.category-tree summary::-webkit-details-marker{display:none}.category-browser>summary::after,.category-tree summary::after{content:"+";font-size:1.1rem;font-weight:400}.category-browser[open]>summary::after,.category-tree details[open]>summary::after{content:"−"}.category-panel{position:absolute;z-index:50;top:100%;left:0;width:min(480px,calc(100vw - 2 * var(--space)));max-height:min(70vh,650px);overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid #e7dddd;border-radius:12px;box-shadow:0 14px 30px #23151a24;padding:.5rem 1rem}.category-tree{list-style:none;margin:0;padding:0}.category-tree .category-tree{padding-left:1rem;border-left:1px solid #e7dddd}.category-tree li{border-bottom:1px solid #f1ebec}.category-tree li:last-child{border-bottom:0}.category-tree a{display:flex;align-items:center;min-height:44px;padding:.5rem 0;text-decoration:none;font-size:.84rem}.category-tree a:hover,.category-tree summary:hover{text-decoration:underline}.category-all-link{font-weight:600}.category-browser summary:focus-visible,.category-tree summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
@media(max-width:48rem){.primary-navigation{display:block}.category-panel{position:static;width:100%;max-height:60vh;box-shadow:none;margin-bottom:.75rem}.site-brand .site-logo-link{width:175px}}

/* Päävalikon ylätason linkit ja kategorioiden avaus ovat samaa typografiaa. */
.site-header .primary-navigation > .category-browser > summary,
.site-header .primary-navigation > .new-products-link,
.site-header .primary-navigation > .primary-menu > li > a,
.site-header .primary-navigation > .menu > ul > li > a {
  font-family: inherit;
  font-size: .81rem;
  font-weight: 600;
  line-height: 1.3;
  min-height: 48px;
  text-decoration: none;
}
.site-header .primary-navigation > .new-products-link {
  display: inline-flex;
  align-items: center;
}
.site-header .primary-navigation > .category-browser > summary:hover,
.site-header .primary-navigation > .category-browser > summary:focus-visible,
.site-header .primary-navigation > .new-products-link:hover,
.site-header .primary-navigation > .new-products-link:focus-visible,
.site-header .primary-navigation > .new-products-link[aria-current="page"],
.site-header .primary-navigation > .primary-menu > li > a:hover,
.site-header .primary-navigation > .primary-menu > li > a:focus-visible,
.site-header .primary-navigation > .primary-menu > li > a[aria-current="page"],
.site-header .primary-navigation > .primary-menu > .current-menu-item > a,
.site-header .primary-navigation > .menu > ul > li > a:hover,
.site-header .primary-navigation > .menu > ul > li > a:focus-visible,
.site-header .primary-navigation > .menu > ul > li > a[aria-current="page"],
.site-header .primary-navigation > .menu > ul > .current_page_item > a {
  text-decoration: underline;
}
@media(max-width:370px){.site-brand .site-logo-link{width:155px}}
.category-shortcuts{margin:0 0 2.5rem}.category-shortcuts h2{font-size:clamp(1.3rem,2.5vw,1.75rem);font-weight:500;margin:0 0 1rem}.category-shortcuts .category-links a{overflow-wrap:anywhere}

/* Pidä logo ja ostotoiminnot rinnakkain puhelimessa; haku omalla rivillään. */
@media (min-width: 371px) and (max-width: 600px) {
  .header-top { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; min-height: 64px; padding-block: 6px; }
  .site-brand { width: auto; min-width: 0; }
  .site-brand .site-logo-link { width: 100%; max-width: 140px; }
  .header-tools { width: auto; justify-content: flex-end; gap: 6px; }
  .header-tools .account-link, .header-tools .menu-toggle { padding-inline: 10px; }
  .primary-navigation { grid-column: 1 / -1; grid-row: 2; }
}

/* Pitkät murupolun nimet rivittyvät myös kapealla näytöllä. */
.woocommerce .woocommerce-breadcrumb { overflow-wrap: anywhere; }
