/*
Theme Name: Assembler
Theme URI: https://wordpress.com/theme/assembler
Author: Automattic
Author URI: https://automattic.com/
Description: Assemble something beautiful.
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 7.2
Version: 0.0.113
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: assembler
Tags: blog, one-column, three-columns, wide-blocks, block-patterns, custom-colors, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, rtl-language-support, style-variations, template-editing, theme-options, threaded-comments, translation-ready
*/

body {
    -webkit-font-smoothing: antialiased;
}

/* Set default line height for font size presets. */

.has-xx-large-font-size,
.has-xxx-large-font-size {
	line-height: 1;
}

/* Add a transition state for buttons. */

.wp-element-button {
    transition: border, background-color, color, box-shadow, opacity, filter;
    transition-duration: 0.15s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    backdrop-filter: blur(30px);
}

/* Fields */

label,
.jetpack-field-label .rich-text.jetpack-field-label__input,
.contact-form .grunion-checkbox-multiple-options legend, 
.contact-form .grunion-radio-options legend,
.wp-block-jetpack-contact-form-container .wp-block-jetpack-contact-form label {
    display: inline-block;
    font-size: var(--wp--preset--font-size--small);
    margin-bottom: 0.25em;
    font-weight: inherit;
}

textarea:not(.block-editor-plain-text),
input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=range]),
.wp-block-post-comments-form textarea,
.wp-block-post-comments-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.jetpack-contact-form .jetpack-field .jetpack-field__input,
.jetpack-contact-form .jetpack-field .jetpack-field__textarea {
    backdrop-filter: saturate(1.075);
    background-color: transparent;
    border-color: currentColor;
    border-style: solid;
    border-radius: 6px;
    border-width: 1px;
    box-shadow: none;
    box-sizing: border-box;
    color: currentColor;
    filter: brightness(1.05);
    font-size: var(--wp--preset--font-size--small);
    font-weight: inherit;
    line-height: 1.5;
    min-height: 42px;
    padding: 0.8rem 1rem;
    width: 100%;
}

/* In dark-controls context, disable Assembler's saturate/brightness effects
   and darken inputs on focus */
.has-dark-controls textarea:not(.block-editor-plain-text),
.has-dark-controls input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=range]) {
    backdrop-filter: none;
    filter: none;
}

.has-dark-controls textarea:not(.block-editor-plain-text):focus,
.has-dark-controls input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=range]):focus {
    background-color: rgba(0, 0, 0, 0.1);
}

textarea:focus,
input:not([type=submit]):focus,
.wp-block-post-comments-form textarea:focus,
.wp-block-post-comments-form input:not([type=submit]):not([type=checkbox]):not([type=radio]):focus {
    outline: 1px solid currentColor;
}

textarea::placeholder,
.input::placeholder,
.wp-block-jetpack-subscriptions__form .components-base-control__field input::placeholder {
    color: color-mix(in srgb, currentColor 60%, transparent);
}

/* Restore WC's native floating-label padding for all WC text inputs */
.wc-block-components-text-input input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=range]) {
    padding: 1.5em .5em .5em;
}

/* Remove backdrop-filter from titles in WooCommerce checkout and cart blocks */
.wc-block-checkout .wc-block-components-title textarea,
.wc-block-cart__totals-title textarea {
  backdrop-filter: none;
}

/* WooCommerce select element overrides */
.wc-blocks-components-select.wc-blocks-components-select .wc-blocks-components-select__container {
  background-color: transparent;
  color: inherit
}

/* Double selector here for specificity to override Woo styles */
.wc-blocks-components-select.wc-blocks-components-select .wc-blocks-components-select__container select {
  backdrop-filter: saturate(1.095);
  filter: brightness(1.05);
  background-color: transparent;
  border-color: currentColor;
  border-style: solid;
  border-radius: 6px;
  border-width: 1px;
  color: currentColor;
}
.wc-blocks-components-select .wc-blocks-components-select__container select:focus {
  outline-style: solid;
  outline-width: 0.75px;
  outline-color: #000;
}

.has-dark-controls .wc-blocks-components-select.wc-blocks-components-select .wc-blocks-components-select__container {
  background-color: transparent;
}

.has-dark-controls .wc-blocks-components-select.wc-blocks-components-select .wc-blocks-components-select__container select {
  backdrop-filter: none;
  filter: none;
}

.has-dark-controls .wc-blocks-components-select.wc-blocks-components-select .wc-blocks-components-select__container select:focus {
  background-color: rgba(0, 0, 0, 0.1);
}


/* Jetpack Forms: Clean up errors */

.contact-form__error {
    font-size: 13px;
}

.contact-form__input-error {
	font-size: 13px;
    gap: 8px;
}

.contact-form__input-error .contact-form__warning-icon {
    border-width: 0;
}

/* Jetpack Forms: Animated block style tweaks */

.contact-form .is-style-animated .grunion-field-wrap.grunion-field-select-wrap .animated-label__label label,
.contact-form .is-style-animated .grunion-field-wrap .grunion-field.has-placeholder ~ .animated-label__label label,
.contact-form .is-style-animated .grunion-field-wrap .grunion-field:focus ~ .animated-label__label label,
.contact-form .is-style-animated .grunion-field-wrap .grunion-field:not(:placeholder-shown) ~ .animated-label__label label {
	opacity: 0.7;
    font-size: 11px;
}

/* Styling for hero areas. */
.header-cover .wp-block-template-part {
    max-width: none;
}

.header-cover .wp-block-template-part > .wp-block-group {
    padding-left: 0;
    padding-right: 0;
}

/* Cover block styles */
.wp-block-cover[class*="is-style-section"]:not(.is-style-default) .wp-block-cover__image-background {
    opacity: 0.25;
}

.wp-block-cover[class*="is-style-section"]:not(.is-style-default) .wp-block-cover__background {
    opacity: 0;
}

:root :where(.wp-block-cover.is-light){
    color: var(--wp--preset--color--theme-5, #000);
}

.wp-block-cover[class*="is-style-section"]:not(.is-style-default) .wp-block-cover__background {
    opacity: 0;
}

/* Make sure footers have no margin. */
footer {
	margin-top: 0 !important;
}

/* Social Links: Better default color. */

.wp-block-social-links.is-style-logos-only li.wp-social-link {
	color: currentcolor;
}

.wp-block-social-links.is-style-logos-only .wp-social-link svg {
	height: 1em;
	width: 1em;
}

.wp-block-social-links.has-small-icon-size {
	font-size: 20px;
}

/* Navigation: Remove row gap to improve wrapping behavior */
.wp-block-navigation__container {
    row-gap: 0;
}

/* Move header core/navigation to the right on mobile. */

.order-0 {
	order: 0;
}

.order-1 {
	order: 1;
}

.grow-0 {
	flex-grow: 0;
}

.grow {
	flex-grow: 1;
}

@media (min-width: 600px) {

	.md\:order-0 {
		order: 0;
	}

	.md\:order-1 {
		order: 1;
	}

	.md\:grow-0 {
		flex-grow: 0;
	}

	.md\:grow {
		flex-grow: 1;
	}

}

.overflow-hidden {
	overflow: hidden;
}

/* Utility class for wide and full images with aspect ratios, as core does not support this yet. */
.aspect-16\/9 {
	aspect-ratio: 16/9;
}

.aspect-16\/9 img,
.aspect-16\/9 .components-placeholder {
    aspect-ratio: 16/9;
    object-fit: cover;
}

/* Ensure cropping works. */
.aspect-16\/9 .wp-block-image__crop-area,
.aspect-16\/9 .wp-block-image__crop-area img {
	aspect-ratio: unset;
}

/* WooCommerce Catalog Sorting Styles */
.wc-block-catalog-sorting {
    position: relative;
}

.wc-block-catalog-sorting > div,
.wc-block-catalog-sorting .woocommerce-ordering {
    align-items: center;
    display: flex;
    gap: 8px;
}

.wc-block-catalog-sorting > div >label,
.woocommerce .woocommerce-ordering > label {
    margin: 0;
    text-wrap: nowrap;
}

.wc-block-catalog-sorting select.orderby {
    appearance: none;
    background-color: transparent;
    border: 1px solid color-mix(in srgb, currentColor 50%, transparent);
    font-family: inherit;
    font-size: inherit;
    border-radius: 6px;
    color: currentColor;
    cursor: pointer;
    padding: 0.75rem 2.5rem 0.75rem 0.75rem;
    width: 100%;
}

/* Arrow using CSS triangle for dynamic color */
.wc-block-catalog-sorting::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 0.35em solid transparent;
    border-right: 0.35em solid transparent;
    border-top: 0.4em solid currentColor;
    pointer-events: none;
}

/* Make sure the CSS triangle stays the same when it's hovered or selected */
.is-outline-mode .block-editor-block-list__block.wc-block-catalog-sorting:not(.remove-outline):not(.rich-text):not([contenteditable=true]).is-selected:after,
.is-outline-mode .block-editor-block-list__block.wc-block-catalog-sorting:not(.remove-outline).is-hovered:not(.is-selected):after {
    left: auto;
    outline-color: transparent;
    right: 0.75rem;
    top: 50%;
}

/* Remove an extra border from the qty selector */
.wc-block-components-quantity-selector input.input-text.qty.text,
input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=range]).wc-block-components-quantity-selector__input {
    border-style: none;
}

/* Reset padding for the qty selector */
input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=range]).qty {
    padding: inherit;
}

/* Remove unwated right margin the qty selector */
.woocommerce div.product form.cart div.quantity .qty {
    margin-right: 0;
}

/* Fix the qty selector height so it matches with the button next to it */
.wp-block-add-to-cart-with-options .wc-block-components-quantity-selector {
    height: 100%;
}

/* Make sure the qty selector's height is the same as the button next to it in the editor */
.wc-block-add-to-cart-with-options__quantity-selector > div,
.wc-block-add-to-cart-with-options__quantity-selector .wc-block-components-quantity-selector {
    height: 100%;
}

/* Remove unnecessary bottom margin from the variation selector labels */
.woocommerce-page label.wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-name,
.woocommerce-page label.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill {
    margin-bottom: 0;
}

/* The main black bar container */
.my-custom-header {
    position: fixed;      /* Pinned to the screen */
    top: 0;               /* At the very top */
    left: 0;              /* From the very left */
    width: 100%;          /* Edge to edge */
    height: 80px;         /* Adjust this height as you like */
    background-color: #000000; /* Pure black */
    z-index: 99999;       /* Stay on top of everything */
    display: flex;        /* Align logo and menu */
    align-items: center;  /* Center items vertically */
    padding: 0 40px;      /* Side spacing */
    box-sizing: border-box; 
    box-shadow: 0 2px 10px rgba(0,0,0,0.3); /* Optional shadow */
}

/* Ensure all text/links inside are white */
.my-custom-header a, 
.my-custom-header span,
.my-custom-header li {
    color: #ffffff !important;
    text-decoration: none;
    list-style: none;
}

/* Push the rest of the website down so it's not hidden */
body {
    padding-top: 80px; /* Must match the header height above */
}

/* Adjust for the WordPress Admin Bar (when logged in) */
.admin-bar .my-custom-header {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar .my-custom-header {
        top: 46px;
    }
}
#scrollToTop {
    display: block;
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 9999;
    width: 50px;
    height: 50px;
    border: none;
    outline: none;
    background-color: #000000; /* Matches your black header */
    color: white;
    cursor: pointer;
    padding: 0;
    border-radius: 50%; /* Makes it a circle */
    font-size: 24px;
    transition: opacity 0.3s, visibility 0.3s, background-color 0.3s;
    opacity: 0;
    visibility: hidden;
}

#scrollToTop:hover {
    background-color: #333333; /* Dark grey on hover */
}

#scrollToTop.show {
    opacity: 1;
    visibility: visible;
}

#scrollToTop .arrow {
    line-height: 50px;
}