Files
somos-infinitos-theme/assets/scss/custom.scss

420 lines
12 KiB
SCSS

html {
background: var(--wp--preset--color--background);
}
body {
background: radial-gradient(
circle at right 15%,
rgba(142, 154, 236, 0.4) 0%,
rgba(142, 154, 236, 0) 25%
),
radial-gradient(
circle at left 85%,
rgba(142, 154, 236, 0.4) 0%,
rgba(142, 154, 236, 0) 25%
);
min-height: 100vh;
}
// Common WooCommerce input field styling
.woocommerce,
.wc-block-components-form,
.woocommerce-page {
input[type=email],
input[type=number],
input[type=password],
input[type=tel],
input[type=text],
input[type=url],
input[type=search],
input[type=date],
textarea,
select {
padding: 1em;
color: var(--wp--preset--color--foreground);
background: transparent;
border: 1px solid var(--wp--preset--color--foreground);
border-radius: 12px;
transition: border-color 0.3s, box-shadow 0.3s;
&::placeholder {
color: var(--wp--preset--color--foreground);
opacity: 0.7;
}
&:hover {
border-color: var(--wp--preset--color--foreground);
}
&:focus {
outline: none;
border-color: var(--wp--preset--color--foreground);
box-shadow: 0 0 0 1px var(--wp--preset--color--foreground);
}
}
// Special styling for select fields
select {
appearance: none;
background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 6l5 5 5-5 2 1-7 7-7-7z' fill='%23FAF7EF'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 1em top 50%;
padding-right: 2.5em;
option {
background-color: var(--wp--preset--color--background);
color: var(--wp--preset--color--foreground);
}
}
// Textarea specific styling
textarea {
min-height: 100px;
resize: vertical;
}
// Checkbox and radio styling
input[type=checkbox],
input[type=radio] {
position: relative;
width: 1.25em;
height: 1.25em;
margin-right: 0.5em;
background: transparent;
border: 1px solid var(--wp--preset--color--foreground);
cursor: pointer;
&:checked {
background-color: var(--wp--preset--color--foreground);
border-color: var(--wp--preset--color--foreground);
&::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 0.5em;
height: 0.5em;
background-color: var(--wp--preset--color--background);
border-radius: 1px;
}
}
&:focus {
outline: none;
box-shadow: 0 0 0 1px var(--wp--preset--color--foreground);
}
}
input[type=radio] {
border-radius: 50%;
&:checked::after {
border-radius: 50%;
}
}
// Error state styling
.woocommerce-invalid,
.woocommerce-invalid-required-field,
.has-error {
input[type=email],
input[type=number],
input[type=password],
input[type=tel],
input[type=text],
input[type=url],
input[type=search],
input[type=date],
textarea,
select {
border-color: var(--wp--preset--color--foreground);
border-width: 2px;
&:focus {
box-shadow: 0 0 0 1px var(--wp--preset--color--foreground);
}
}
}
.woocommerce-error {
background-color: rgba(250, 247, 239, 0.1);
border-left: 3px solid var(--wp--preset--color--foreground);
color: var(--wp--preset--color--foreground);
padding: 1em 1.5em;
margin-bottom: 2em;
border-radius: 4px;
li {
list-style: none;
margin-left: 0;
}
}
// Validation error messages
.woocommerce-error,
.woocommerce-message {
margin: 0 0 2em;
padding: 1em 1.5em;
border-radius: 4px;
&::before {
margin-right: 0.5em;
}
}
span.required {
color: var(--wp--preset--color--foreground);
opacity: 0.8;
}
}
// Specific class for WooCommerce components
.wc-block-components-form {
.wc-block-components-text-input,
.wc-block-components-select {
input[type=email],
input[type=number],
input[type=password],
input[type=tel],
input[type=text],
input[type=url],
select {
padding: 1em;
color: var(--wp--preset--color--foreground);
background: transparent;
border: 1px solid var(--wp--preset--color--foreground);
border-radius: 12px;
&::placeholder {
color: var(--wp--preset--color--foreground);
opacity: 0.7;
}
&:hover {
border-color: var(--wp--preset--color--foreground);
}
&:focus {
outline: none;
border-color: var(--wp--preset--color--foreground);
box-shadow: 0 0 0 1px var(--wp--preset--color--foreground);
}
}
}
// Style the combobox
.wc-block-components-combobox .wc-block-components-combobox-control {
input.components-combobox-control__input {
padding: 1em;
color: var(--wp--preset--color--foreground);
background: transparent;
border: 1px solid var(--wp--preset--color--foreground);
border-radius: 12px;
&:hover, &:focus {
border-color: var(--wp--preset--color--foreground);
}
}
}
// Error states for WC blocks
.has-error {
input, select, textarea {
border-color: var(--wp--preset--color--foreground);
border-width: 2px;
}
.wc-block-components-validation-error {
color: var(--wp--preset--color--foreground);
font-size: 0.875em;
margin-top: 0.5em;
}
}
}
// Fix for variable products dropdown
.woocommerce div.product form.cart .variations select,
.single-product div.product table.variations select {
padding: 1em;
color: var(--wp--preset--color--foreground);
background-color: transparent;
border: 1px solid var(--wp--preset--color--foreground);
border-radius: 12px;
min-width: 150px;
}
// Fix for cart quantity inputs
.woocommerce .quantity .qty {
padding: 0.7em;
text-align: center;
}
// Form labels
.woocommerce form .form-row label,
.wc-block-components-form .wc-block-components-text-input label {
color: var(--wp--preset--color--foreground);
margin-bottom: 0.5em;
display: block;
}
// Form validation indicators
.woocommerce form .form-row {
&.woocommerce-validated {
input.input-text {
border-color: var(--wp--preset--color--foreground);
border-width: 2px;
&:focus {
box-shadow: 0 0 0 1px var(--wp--preset--color--foreground);
}
}
}
&.woocommerce-invalid {
input.input-text {
border-color: var(--wp--preset--color--foreground);
border-width: 2px;
&:focus {
box-shadow: 0 0 0 1px var(--wp--preset--color--foreground);
}
}
}
.woocommerce-input-wrapper {
.description {
background: rgba(250, 247, 239, 0.1);
border-radius: 3px;
color: var(--wp--preset--color--foreground);
padding: 0.5em 1em;
margin: 0.5em 0 0;
font-size: 0.875em;
}
}
}
// Button styles for consistency
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-block-components-button:not(.is-link) {
border: 1px solid var(--wp--preset--color--foreground);
border-radius: 0.85em;
padding: .75em 1.5em;
background-color: transparent;
color: var(--wp--preset--color--foreground);
transition: all 0.25s ease;
font-weight: normal;
&:hover {
background-color: var(--wp--preset--color--foreground);
color: var(--wp--preset--color--background);
text-decoration: none;
}
&.alt {
background-color: var(--wp--preset--color--foreground);
color: var(--wp--preset--color--background);
&:hover {
background-color: transparent;
color: var(--wp--preset--color--foreground);
}
}
}
// Notices and messages
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
border-radius: 4px;
background-color: rgba(250, 247, 239, 0.1);
border-left: 3px solid var(--wp--preset--color--foreground);
color: var(--wp--preset--color--foreground);
padding: 1em 1.5em;
margin-bottom: 2em;
a {
color: var(--wp--preset--color--foreground);
font-weight: 600;
text-decoration: underline;
&:hover {
text-decoration: none;
}
}
}
// Make sure error feedback text uses foreground color
.wc-block-components-notice-banner,
.woocommerce-error {
color: var(--wp--preset--color--foreground);
&.is-error,
&.is-info,
&.is-success,
&.is-warning {
border-left-color: var(--wp--preset--color--foreground);
}
}
#coming-soon-footer-banner {
background: black;
color: var(--wp--preset--color--foreground);
}
.wc-block-components-title.wc-block-components-title {
font-size: 38px;
margin-bottom: 1rem;
}
.wc-block-components-notice-banner.is-error {
background-color: black;
border-color: white;
}
.wc-blocks-components-select .wc-blocks-components-select__select {
border: 1px solid var(--wp--preset--color--foreground);
border-radius: 12px;
color: var(--wp--preset--color--foreground);
}
.wc-blocks-components-select .wc-blocks-components-select__label {
color: var(--wp--preset--color--foreground);
}
.wc-blocks-components-select .wc-blocks-components-select__container {
background: transparent;
color: var(--wp--preset--color--foreground);
border: 1px solid var(--wp--preset--color--foreground);
border: none;
border-radius: 12px;
}
.wc-blocks-components-select .wc-blocks-components-select__expand {
fill: var(--wp--preset--color--foreground) !important;
}
.wc-block-components-form .wc-block-components-text-input.has-error label, .wc-block-components-text-input.has-error label {
color: var(--wp--preset--color--foreground);
}
.wc-block-components-form .wc-block-components-text-input input[type=email]:focus, .wc-block-components-form .wc-block-components-text-input input[type=number]:focus, .wc-block-components-form .wc-block-components-text-input input[type=password]:focus, .wc-block-components-form .wc-block-components-text-input input[type=tel]:focus, .wc-block-components-form .wc-block-components-text-input input[type=text]:focus, .wc-block-components-form .wc-block-components-text-input input[type=url]:focus, .wc-block-components-text-input input[type=email]:focus, .wc-block-components-text-input input[type=number]:focus, .wc-block-components-text-input input[type=password]:focus, .wc-block-components-text-input input[type=tel]:focus, .wc-block-components-text-input input[type=text]:focus, .wc-block-components-text-input input[type=url]:focus {
background-color: var(--wp--preset--color--background);
}
.wc-block-components-form .wc-block-components-text-input input[type=email]:focus, .wc-block-components-form .wc-block-components-text-input input[type=number]:focus, .wc-block-components-form .wc-block-components-text-input input[type=password]:focus, .wc-block-components-form .wc-block-components-text-input input[type=tel]:focus, .wc-block-components-form .wc-block-components-text-input input[type=text]:focus, .wc-block-components-form .wc-block-components-text-input input[type=url]:focus, .wc-block-components-text-input input[type=email]:focus, .wc-block-components-text-input input[type=number]:focus, .wc-block-components-text-input input[type=password]:focus, .wc-block-components-text-input input[type=tel]:focus, .wc-block-components-text-input input[type=text]:focus, .wc-block-components-text-input input[type=url]:focus {
color: var(--wp--preset--color--foreground);
}
@media (max-width: 480px) {
.wp-block-woocommerce-checkout.alignwide.wc-block-checkout {
padding-inline: 3rem;
}
[data-block-name="woocommerce/page-content-wrapper"] {
display: none;
}
}