/*
Theme Name: Dioramica-tt5
Theme URI:
Author: VillDev
Author URI:
Description: Dioramica custom theme based on Twenty Twenty-Five
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 5.7
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: twentytwentyfive
Text Domain: dioramica-tt5
Tags:
*/

/* ------------------------------
   Base / Typography
---------------------------------*/
html, body { line-height: 1.5; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}

/* ------------------------------
   Header / Footer
---------------------------------*/

/* Template parts (primary source of truth) */
header.wp-block-template-part {
  background: var(--wp--preset--color--menu-header-bg-color);
  color: var(--wp--preset--color--diorama-text-on-dark);
  margin: 0;
}
header.wp-block-template-part a {
  color: var(--wp--preset--color--diorama-text-on-dark);
  text-decoration: none;
}

footer.wp-block-template-part {
  background: var(--wp--preset--color--footer-bg-color);
  color: var(--wp--preset--color--diorama-text-on-dark);
  margin: 0;
}
footer.wp-block-template-part a {
  color: var(--wp--preset--color--diorama-text-on-dark);
  text-decoration: none;
}

/* Optional sub-areas if you use .header-top / .header-bottom wrappers */
header.wp-block-group.alignfull.header-top {
  background: var(--wp--preset--color--menu-header-bg-color);
  margin: 0;
}
header.wp-block-group.alignfull.header-bottom {
  background: var(--wp--preset--color--sub-header-menu-bg-color);
  margin: 0;
}

/* Remove accidental backgrounds inside header groups */
.header-top header.wp-block-group,
.header-bottom header.wp-block-group,
.header-top header,
.header-bottom header {
  background: transparent;
}

/* Site title on dark areas (no hover change) */
header.wp-block-group .wp-block-site-title a,
footer.wp-block-template-part .wp-block-site-title a {
  color: var(--wp--preset--color--diorama-text-on-dark);
}

/* ------------------------------
   Navigation / Links / Buttons
---------------------------------*/

/* Hover only where intended (nav + buttons) */
header.wp-block-template-part a:hover {
  color: var(--wp--preset--color--diorama-text-on-dark);
}

/* Buttons */
.wp-block-button__link,
.wp-block-woocommerce-product-button .wp-element-button,
.woocommerce .button,
.add_to_cart_button {
  border-radius: 25px;
  padding: 12px 24px;
  font-weight: 500;
  transition: background .25s ease, color .25s ease, transform .05s ease;
}

/* Button hover/active/disabled */
.wp-element-button:hover,
.wp-block-button__link:hover,
.woocommerce .button:hover,
.add_to_cart_button:hover {
  background: var(--wp--preset--color--sub-header-menu-bg-color);
  color: var(--wp--preset--color--diorama-text-on-dark);
}
.wp-element-button:active,
.wp-block-button__link:active,
.woocommerce .button:active,
.add_to_cart_button:active {
  transform: translateY(1px);
}
.wp-element-button:disabled,
.wp-block-button__link:disabled,
.woocommerce .button:disabled,
.add_to_cart_button:disabled {
  opacity: .5;
  cursor: not-allowed;
}

/* Focus styles (a11y) */
a:focus-visible,
.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible {
  outline: 2px solid var(--wp--preset--color--sub-header-menu-bg-color);
  outline-offset: 2px;
}

/* ------------------------------
   Layout helpers
---------------------------------*/
.main-tight {
  --wp--style--block-gap: 0;
  margin: 0;
  padding: 0;
}
.wp-site-blocks > .wp-block-template-part + .main-tight,
.wp-site-blocks > .main-tight + .wp-block-template-part {
  margin-block-start: 0;
}
.main-tight .wp-block-post-content,
.main-tight .wp-block-separator { margin: 0; }

/* ------------------------------
   Woo / Products
---------------------------------*/

/* Subtitle under product title */
.product-subtitle {
  display: block;
  font-size: 0.85em;
  margin-top: 0.15em;
  line-height: 1.3;
  font-weight: 400;
}

/* Price emphasis */
.woocommerce .price,
.wp-block-woocommerce-product-price {
  font-weight: 600;
}

/* Product collection grid cards */
.wp-block-woocommerce-product-collection .wp-block-post {
  border-radius: 8px;
  padding: 16px;
  transition: box-shadow .25s ease;
}
.wp-block-woocommerce-product-collection .wp-block-post:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
}

/* Product images: consistent look */
.wp-block-woocommerce-product-collection .wp-block-post img,
.woocommerce ul.products li.product a img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
  height: auto;
  border-radius: 8px;
}

/* ------------------------------
   Small screens
---------------------------------*/
@media (max-width: 480px) {
  .wp-block-button__link,
  .wp-block-woocommerce-product-button .wp-element-button,
  .woocommerce .button,
  .add_to_cart_button {
    padding: 10px 18px;
  }
}

/* ------------------------------
   Hero section
---------------------------------*/

